我在存储在root中的htaccess文件中有这个重写规则:
RewriteCond %{HTTP_HOST} ^portal.domain.uk
RewriteRule ^(.*)$ http://domain.uk/subdomains/portal/$1 [L,NC]
但是当我不想要它时它会重定向。
我已尝试使用[l,NC,QSA]
作为标记,但仍然会重定向到domain.com/subdomains/portal
有没有办法可以阻止它重定向浏览器,只是让它映射到这个目录?
答案 0 :(得分:0)
Apache发现重写的替换字符串是不同的URL ,而不是用户浏览的那个。一个是子域,另一个是主域。因此,即使您没有R flag
,apache也会自动执行301重定向。那是设计上的。如果您想保留当前网址但获取该网址的内容,则必须proxypass
。您可以使用RewriteRule中的P flag轻松完成此操作。
试试这个。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^portal.domain.uk
RewriteRule ^(.*)$ http://domain.uk/subdomains/portal/$1 [P]
如果它不起作用,请确保您已启用mod_proxy
。