我正在尝试将所有访问者从非 www 重定向到 www,目前通过
RewriteEngine On
RewriteCond %{http_host} ^mysite.com
RewriteRule ^(.*) http://www.mysite.com/$1 [R=301,L]
但是希望将特定页面从 www 重定向到非 www 的强制异常...
是RewriteRule ^/?$ exception.html [L]
唯一的解决方案吗?
好吧,如果您想阻止非 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]
我希望这对你有帮助
试试这个:
如果您还想将 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]