我真的被困在转换这个美丽的htaccess脚本(规则),强制非www到www url考虑到http或https它完美的工作,但我不能让它工作相反的方式从www到非www你能不能帮我?
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
谢谢你我真的被那些htaccess符号卡住了!
答案 0 :(得分:4)
为了使www to non-www
以上代码无效,因为变量捕获在RewriteCond中的工作方式。你需要把它们分成两个这样的规则:
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]