我们有一个例如https://www.egdomain.com/
的网址,而且ssl对egdomain.com有效。
那么如何将所有请求从https://www.egdomain.com/
重定向到https://egdomain.com/
该网站也有正常的http请求,工作正常。
我尝试了下面的htaccess但仍然没有
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteCond %{HTTP_PORT} =443
RewriteRule (.*) https://%1/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule (.*) http://%1/$1 [L,R=301]
非常感谢任何帮助
答案 0 :(得分:1)
您可以将这两个规则合并为一个:
RewriteCond %{HTTPS}s ^on(s)|
RewriteCond http%1://%{HTTP_HOST}%{REQUEST_URI} ^(https?://)www\.(.+) [NC]
RewriteRule ^ %1%2 [L,R=301]
但也许这有点太混乱了。
答案 1 :(得分:0)
manual说(强调我的):
RewriteCond
反向引用:这些是%N(1 <= N <= 9)形式的反向引用,它提供对模式的分组部分(再次,在括号中)的访问,从<当前条件中的strong>最后匹配RewriteCond
。
所以:
RewriteCond %{HTTP_PORT} =443
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule (.*) https://%1/$1 [L,R=301]
请注意,如果您的证书仅适用于没有www.
的版本,则访问者在访问www.
版本时仍会收到安全警告。