0

这让我发疯......我的服务器上有 blah1.com 和 blah2.com。

我需要做一个从 blah1.com/BLAHFOLDER/file.php 到 blah2.com/BLAHFOLDER/file.php 的屏蔽重定向,这样 url 就不会显示 blah2.com。

但是,我不想重定向 blah1.com/home.php... 我只想重定向包含 BLAHFOLDER 的 URL。

BLAHFOLDER 中有许多文件需要重定向。

到目前为止,我得到的最接近的答案是: htaccess redirection and .htaccess redirection to subfolder (masked)

但我就是无法让它与我的设置一起使用。

任何帮助将不胜感激..

4

2 回答 2

2

我假设您在同一台服务器上的两个不同主机上拥有两个域。如果您在同一主机上拥有两个域,则@AbsoluteƵERØ 的答案应该有效!

尝试将其放在“blah1.com”主机的 .htaccess 中:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/FOLDER/
RewriteRule ^(.*)$ http://blah2.com/$1 [R,L]

这会将所有文件(如 blah1.com/FOLDER/file.php)重定向到 blah2.com/FOLDER/file.php 等。不在 FOLDER 中的其他内容将不会被重定向。

如果您愿意,URL“blah1.com”始终保留在地址栏中并且在重定向时不会与 blah2.com 交换,请启用 mod_proxy ( http://httpd.apache.org/docs/2.2/mod/mod_proxy. html ) 在您的服务器上并将“L”标志与“P”标志交换,因此您在 blah1.com 上的 .htaccess 将如下所示:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/FOLDER/
RewriteRule ^(.*)$ http://blah2.com/$1 [R,P]
于 2013-05-29T07:13:44.247 回答
0

您必须检查它是否在正确的域上:

RewriteCond %{HTTP_HOST} ^blah1\.com
RewriteRule ^(BLAHFOLDER/file\.php) http://blah2.com/$1 [R=301,L]

如果您在同一物理主机上使用两个单独的虚拟主机,那么您可以放弃第一行,将其设置为仅驻留在blah1.com.

RewriteRule ^(BLAHFOLDER/file\.php) http://blah2.com/$1 [R=301,L]
于 2013-05-29T05:49:16.303 回答