如何将文件重定向到另一个文件夹中的另一个文件夹,该文件夹是另一个附加域的物理文件夹?
这是我服务器上的内容(由cPanel设置):
addon_domain_1.com ---> public_html/folder_1
addon_domain_2.com ---> public_html/folder_2
当addon_domain_1.com中有文件source.php的请求时,我想将其重定向到folder_2(而不是folder_1)中的target.php。所以它看起来像这样:
http://www.addon_domain_1.com/blah/source.php ---> folder_2/target.php
在我的public_html / .htaccess文件中,我有以下内容:
Options +FollowSymlinks All -Indexes
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.addon_domain_1\.com$ [NC]
RewriteRule /source\.php$ folder_2/target\.php [L]
但这会产生404错误:
Not Found
The requested URL /home/username/public_html/folder_2/target.php was not found on this server.
实际上,文件target.php确实存在于folder_2中,可以通过浏览器访问。
奇怪的是,当我将target.php复制到folder_1,并将我的规则更改为指向它时,它运行正常!
RewriteRule /source\.php$ folder_1/target\.php [L]
因此,只有当我将其重定向到作为不同附加域的源的文件夹中的文件时,才会出现错误。
我怎样才能解决这个问题?
请注意,我无法使用外部重定向,因为它会丢失原始环境变量,例如我的脚本需要的REQUEST_URI和REMOTE_ADDR。
换句话说,以下规则对我不起作用:
RewriteRule /source\.php$ http://www\.addon_domain_2.com/target\.php [P,L]
我知道你也可以在查询字符串中“附加”环境变量,但我宁愿不使用这个方法,让我的PHP脚本处理它。
谢谢。