htaccess将整个域/文件夹重定向到另一个域

时间:2015-03-29 09:30:26

标签: apache .htaccess mod-rewrite redirect

我不是htaccess的朋友,并且遇到了一个我似乎无法谷歌解决问题的问题。所以这里希望你们能帮忙。

我有一个多站点安装,我试图将所有流量重定向到mydomain.com/anothersite(以及所有子文件夹和查询字符串)到anothersite.com,同时将所有请求重新发送到anothersite.com请求服务器查找anothersite文件夹。

基本上服务器文件夹设置如下: 在根目录中我们有一个网站 在根目录中我们有一个文件夹" anothersite"包含另一个网站

因此,对mydomain.com的所有请求都应显示根文件夹,而对anothersite.com的所有请求都应重写。

希望这样做

这是我所拥有的(它几乎可以工作但不完全)

RewriteEngine on
RewriteBase /
RewriteRule ^mydomain\.com/anothersite(.*)$ http://anothersite.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^(www.)?anothersite.com$
RewriteRule !^anothersite/ anothersite%{REQUEST_URI} [L]

问题是mydomain.com/anothersite/someFolderOrQuerystring的请求没有被重定向,而mydomain.com/anothersite/是

希望它明白了

(顺便说一句:如果有人可以指向我的方向,这将使我成为htaccess文件的奥秘,这将是一个甜蜜的奖金

1 个答案:

答案 0 :(得分:0)

在网站root .htaccess:

中有此规则
RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^anothersite(/.*)?$ http://anothersite.com%{REQUEST_URI} [NE,L,R=301]

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

确保您在anothersite/文件夹下没有.htaccess。