http到https重定向使用htaccess在角度6中不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http到https重定向使用htaccess在角度6中不起作用相关的知识,希望对你有一定的参考价值。

我正在尝试使用htaccess 301永久重定向规则将我的网站重定向到https://www

我在Angular 6构建版本的htaccess文件中使用以下代码。

路径:/ mysite/dist/myfolder/.htaccess代码:RewriteCond上的RewriteEngine%{HTTPS} off [OR] RewriteCond%{HTTP_HOST}!^ www。 [NC] RewriteRule ^(。*)$ https://www.yourwebsite.com/ $ 1 [R = 301,L]

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteRule ^index.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
</IfModule>

当我打开https://example.com然后它重定向到https://www.example.com时,上面的代码工作。这可以。

但是当我尝试打开example.com或http://example.com时,它不会重定向到https://www.example.com

答案

只需添加HTTPS重写规则即可。

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  RewriteRule ^index.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . index.html [L]
</IfModule>
另一答案

试试这个:

<IfModule mod_rewrite.c>
  Options Indexes FollowSymLinks
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
  RewriteCond %{HTTPS} off
  RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

以上是关于http到https重定向使用htaccess在角度6中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 .htaccess 将 HTTP 重定向到 HTTPS

如何使用 .htaccess 正确地将 HTTP 301 重定向到 HTTPS?

使用特定域的 .htaccess 重定向到 HTTPS

使用 .htaccess 将 www URL 重定向到 https 的非 www

使用 .htaccess 将 http 重定向到 https 时,某些 url 出现奇怪的 401 错误

.htaccess 文件不重定向 http://www。到 https://www