我正在尝试将所有流量重定向到另一个域。无论子域或目录是什么。它应该转到另一个域的同一个地方。
zweeue.com - > zoeyt.com
s.zweeue.com - > s.zoeyt.com
zweeue.com/art/ - > zoeyt.com/art /
现在这就是诀窍,在另一个域中,我有一个mod重写,它将不存在的文件和目录的所有流量发送到l.php
所以zoeyt.com/art存在,所以zweeue.com/art/会去zoeyt.com/art /
但zweeue.com/mvs不会这样zoeyt.com/mvs会去zoeyt.com/mvs/。现在,zweeue.com / mvs获得了404,但zweeue.com/art/应该转到zoeyt.com/art/,因为/ art /存在。 zweeue.com上的所有内容都通过以下第一个htaccess文件转到zoeyt.com。下面的第二个mod重写块是zoeyt.com的单独主机上的单独htaccess文件
如何成功完成此操作?目前zweeue.com/mvs访问zoeyt.com/而不是zoeyt.com/mvs,zoeyt的htaccess将发送给l.php。
以下是第一个域名的重定向htaccess,zweeue.com:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://www.zoeyt.com/$1 [L,R=301]
</IfModule>
以下是第二个域的htacccess文件(zoeyt):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /l.php [L]
</IfModule>
答案 0 :(得分:0)
将您的第一个.htaccess更改为:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^ http://www.zoeyt.com%{REQUEST_URI} [L,R=301,NE]
</IfModule>
第二个域名的htacccess文件(zoeyt):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ l.php [L]
</IfModule>
使用%{REQUEST_URI}
代替$1
可确保您向目标发送完整URI,而不是$1
中捕获的相对值。