将文件夹重定向到子域并保持子域工作

时间:2013-10-18 14:10:45

标签: regex apache .htaccess mod-rewrite redirect

我在这里遇到了一个愚蠢的问题但是我们走了:

我有这个网址:http://www.mysite.com/subsite。我想像这样使用“/ subsite”:http://subsite.mysite.com。使用以下代码很容易实现:

RewriteRule ^subsite(.*) http://subsite.mysite.com$1 [L]

但这是愚蠢的部分。我网站上的所有链接都是这样的:“http://subsite.mysite.com/content”。在这种情况下,此网址应重定向到“http://www.mysite.com/subsite/content”。这会产生无限循环(当然)。

RewriteRule ^subsite(.*) http://subsite.mysite.com$1 [L]
RewriteCond %{HTTP_HOST} ^subsite\.mysite\.com [NC]
RewriteRule (.*) http://www.mysite.com/subsite/$1 [R]

是否有可能实现我的目标?

1 个答案:

答案 0 :(得分:0)

您需要为此启用mod_proxy

然后有这样的规则:

RewriteCond %{HTTP_HOST} ^(?:www\.)?mysite\.com [NC]
RewriteRule !subsite http://subsite.mysite.com%{REQUEST_URI} [L,R]

RewriteCond %{HTTP_HOST} ^subsite\.mysite\.com [NC]
RewriteRule ^ http://www.mysite.com/subsite%{REQUEST_URI} [L,P]