我希望将我的网页永久重定向到https + www。
我使用下面的代码但是当我输入https://example.com时它不起作用。它什么都不做,并且在没有添加www的情况下显示页面。
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L,NE]
答案 0 :(得分:1)
试试这样:
RewriteEngine on
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.example.com%{REQUEST_URI} [R=301,L,NE]
确保在测试之前清除缓存。
答案 1 :(得分:1)
给定的重定向规则没有问题。似乎问题是OP正在执行来自<VirtualHost *:80>
部分的显示规则。如果请求为https://
,那么这些规则显然不会触发。 OP可以做两件事之一来解决问题:
<VirtualHost *:443>
部分中保留相同的重定向规则 - OR
.htaccess