我想将所有非www重定向到www – 如果请求是通过http它应该重定向到
http://www.domain.com,如果请求是通过https然后直接到
https://www.domain.com
我在.htaccess中尝试了以下内容,但它将所有内容重定向到https
RewriteCond %{HTTPS} off RewriteRule ^(.*)$https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301
我已经使用了这个代码,它完美地解析了.请检查一下是否正确.
RewriteEngine On RewriteBase / #Redirect non-www to www RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$http://www.%{HTTP_HOST}/$1 [R=301,L] # Redirect to HTTPS RewriteCond %{HTTPS} off RewriteRule (.*) https://www.pnrstatusbuzz.in/%{REQUEST_URI}
解决方法
您可以将此规则用作第一条规则:
RewriteCond %{HTTP_HOST} !^www\. RewriteCond %{HTTPS}s on(s)| RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]