.htaccess将域名redirect到子目录而不更改URL

我有以下设置: – > domain1.com是我的主要域,也是文档根 – > domain2.com是另一个域注册为别名域(意味着它完全相同的domain1.com),我有多个这些域名。

当我现在想要redirect的域名,我通常使用这个redirect到其他的东西(如外部网站):

RewriteCond %{HTTP_HOST} ^(www\.)?domain2.com$ [NC] RewriteRule ^(.*) http://somewiredisp.com/user/bla/$1 [L,R] 

这通常用于如果我注册一个域名的人谁需要一个漂亮的url为他们的论坛或任何。 工作就像一个魅力 – 唯一的“问题”是浏览器中的地址栏发生变化,但我已经读到,有没有办法做到这一点与外部URL,因为没有人抱怨过, 没事用它。

不过,现在我想链接到一个子目录,而不需要在地址栏中更改url。

domain2.com – > domain1.com/subdir(或domain2.com/subdir – 没关系,因为它是一个别名域)。

我目前的做法是

 RewriteCond %{HTTP_HOST} ^(www\.)?domain2.com$ [NC] RewriteRule ^(.*) http://domain1.com/subdir/ [P] 

这不起作用(错误404) – 如果我明显地工作,直接调用domain1.com/subdir/。

我也尝试了几个变种

 RewriteRule ^(.*) http://domain2.com/subdir/ [P] RewriteRule ^(.*) /subdir/ [P] RewriteRule ^(.*) http://domain1.com/subdir/index.html [P] 

所有的结果都一样。

也许这只是一个简单的错误,但我目前无能为力:/

你可以使用这个规则:

 RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ [NC] RewriteRule !^subdir/ /subdir%{REQUEST_URI} [L,NC] 

这将为domain2.com每个请求加上/subdir如果它不在那里的话。