代码之家  ›  专栏  ›  技术社区  ›  user584018

始终在HTTP上重定向

  •  0
  • user584018  · 技术社区  · 6 年前

    我想将我的Angular5应用程序的URL重定向到 HTTPS 而不是 HTTP 当我在浏览器中尝试时,

    host-name/Site1/

    它应该自动变成,

    https://host-name/Site1/

    我在下面尝试了URL重写规则 wen.config 但它总是 http ,请说明原因。谢谢!

    <rewrite> <rules> <rule name="Redirect to http" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" negate="false" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" /> </rule> </rules> </rewrite>

    1 回复  |  直到 6 年前
        1
  •  3
  •   Maryannah    6 年前

    你应该使用一个拦截器。

    export class HttpsInterceptor implements HttpInterceptor {
    
      constructor() { }
    
      intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
        if (!req.url.startsWith('https://')) {
          const clone = req.clone();
          // Append your HTTPS here
          return next
            .handle(clone);
        }
        return next
          .handle(req);
      }
    }