繁体   English   中英

如何将所有流量重定向到一个域到另一个域的相同位置

[英]How can I redirect all traffic to one domain to the same location at another domain

我正在尝试将所有流量重定向到一个域到另一个域。 无论位于哪个子域或目录中。 它应该在另一个域中的相同位置。

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。

以下是第一个域zweeue.com的重定向htaccess中的内容:

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

将您的第一个.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捕获的相对值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM