htaccess reqwrite规则是重定向

时间:2016-04-11 23:38:29

标签: apache .htaccess

我在存储在root中的htaccess文件中有这个重写规则:

RewriteCond %{HTTP_HOST} ^portal.domain.uk
RewriteRule ^(.*)$ http://domain.uk/subdomains/portal/$1 [L,NC]

但是当我不想要它时它会重定向。

我已尝试使用[l,NC,QSA]作为标记,但仍然会重定向到domain.com/subdomains/portal

有没有办法可以阻止它重定向浏览器,只是让它映射到这个目录?

1 个答案:

答案 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