2

我真的被困在这个漂亮的 htaccess 脚本(规则)的转换上,考虑到 http 或 https 它的完美工作,它强制非 www 到 www url,但我不能让它从 www 到非 www 的相反方式工作你能帮我吗?

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

谢谢我真的被那些htaccess符号困住了!

4

1 回答 1

4

由于 RewriteCond 中变量捕获的工作方式,使www to non-www上述代码不起作用。您需要将它们分解为 2 条规则,如下所示:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
于 2013-07-25T06:54:43.653 回答