这让我疯狂...... 我的服务器上有blah1.com和blah2.com。
我需要从blah1.com/BLAHFOLDER/file.php进行屏蔽重定向到blah2.com/BLAHFOLDER/file.php,以便网址不显示blah2.com。
但是,我不想重定向blah1.com/home.php ...我只想重定向包含BLAHFOLDER的网址。
BLAHFOLDER中有许多文件需要重定向。
到目前为止我得到的最接近的答案是: htaccess redirection 和 .htaccess redirection to subfolder (masked)
但我无法使用我的设置。
任何帮助将不胜感激..
答案 0 :(得分: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]
答案 1 :(得分: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]