Htaccess更改浏览器中显示的URL

时间:2013-09-27 13:41:46

标签: .htaccess url-routing

我试图阻止xyz.com出现在浏览器地址栏中,但仍然将abc.com流量导向xyz.com网站。一旦我从[QSA,L]中移除“R”,我就预料到会发生这种情况。但是似乎没有任何变化。我应该使用不同的HTTP标头或连接变量吗?

rewritecond %{HTTP_HOST} ^(www\.)?abc\.com$ [NC]
rewriterule ^ http://xyz.com/?snack [QSA,L]

1 个答案:

答案 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,这被视为某种安全风险