我正在尝试将所有访客从非www重定向到www,目前通过
完成RewriteEngine On
RewriteCond %{http_host} ^mysite.com
RewriteRule ^(.*) http://www.mysite.com/$1 [R=301,L]
但是想要将特定页面的强制例外从www重定向到非www ...
是RewriteRule ^/?$ exception.html [L]
唯一的解决方案吗?
答案 0 :(得分:1)
如果您想阻止非www到重定向的页面,您必须在重定向之前设置重写规则。
选项[L]将阻止检查下一个规则。
RewriteEngine On
RewriteCond %{http_host} ^mysite.com
RewriteRule ^exception\.html$ exception.html [L]
RewriteCond %{http_host} ^mysite.com
RewriteRule ^(.*) http://www.mysite.com/$1 [R=301,L]
我希望这可以帮到你
答案 1 :(得分:0)
试试这个:
如果您还想将www.mysite.com/exception.html重定向到mysite.com/exception.html,请仅添加此RewriteRule。
如果您只是想将exception.html作为将mysite.com重定向到www.mysite.com的例外,那么您不需要此规则。
# Redirects www.mysite.com/exception.html to mysite.com/exception.html
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule ^exception.html$ http://%1/exception.html [R]
# Redirects mysite.com to www.mysite.com. We must add a condition to avoid an infinite redirect loop with exception.html
RewriteCond %{HTTP_HOST} ^(mysite\.com)
RewriteCond %{REQUEST_URI} !^exception.html$
RewriteRule (.*) http://www.%1/$1 [R=301,L]