我试图阻止xyz.com出现在浏览器地址栏中,但仍然将abc.com流量导向xyz.com网站。一旦我从[QSA,L]中移除“R”,我就预料到会发生这种情况。但是似乎没有任何变化。我应该使用不同的HTTP标头或连接变量吗?
rewritecond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
rewriterule ^ http://xyz.com/?snack [QSA,L]
答案 0 :(得分:1)
在人们看来,这是一个很大的困惑,通过删除R
标记网址永远不会改变,它将保持内部(无声)前进。
事实是,如果您在目标网址中更改域名(使用http://
等),则网址会更改,并且它将是external redirect
。
无网址更改(内部重写):
RewriteCond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
RewriteRule ^foo/?$ /?snack [QSA,L]
网址将更改(外部重定向):
RewriteCond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
RewriteRule ^foo/?$ ttp://xyz.com/?snack [QSA,L]
PS:在转到其他域时,唯一可以避免更改网址的方法是使用mod_proxy
,这被视为某种安全风险。