HTTP 重定向到 HTTPS,同时保留角度路由 (.htaccess)

问题描述 投票:0回答:1

我想做的就是阻止网站使用 http 而不是 https。这是我的 .htaccess 配置。只有 www.mywebsite.com 和 mywebsite.com 不转为 https。角度路线也可以。如果我写 mywebsite.com/signup 它也会使用 https。我应该怎么做才能将所有场景重定向到 https?

场景:

www.website.com -> 不是 https

website.com -> 不是 https

website.com/signin -> https

www.website.com/signin -> https

RewriteEngine On

  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]


  RewriteRule ^ /
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
angularjs .htaccess http redirect https
1个回答
7
投票

前 2 个重写条件将忽略现有文件和目录,但根目录(通常)始终存在。尝试删除第一个块。

这就足够了:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

要使有角度的路线发挥作用,您需要另一个像这样的块

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html

这样所有非 SSL 流量都将被重定向。第二部分将把所有内容重写到你的角度索引文件中,除了现有的目录和文件

© www.soinside.com 2019 - 2024. All rights reserved.