Apache .htaccess重定向到子域不工作
我在site.com根目录下的.htaccess文件中有以下代码:Apache .htaccess重定向到子域不工作,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,我在site.com根目录下的.htaccess文件中有以下代码: RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$ RewriteRule ^files(.*)$ http://files.site.com/$1 [L,R=301,QSA] 我想将site.com/files/path?query重定向到files.site.com/path?query,但由于某些原因它无法工作。有人能告诉
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$
RewriteRule ^files(.*)$ http://files.site.com/$1 [L,R=301,QSA]
我想将
site.com/files/path?query
重定向到files.site.com/path?query
,但由于某些原因它无法工作。有人能告诉我为什么吗?它不是正常工作,而是做什么?你还有其他重写规则吗?site.com/files/
上的目录是否确实存在,如果存在,它内部是否有自己的.htaccess?您的规则看起来应该像您定义的那样工作。@MichaelBerkowski它什么也不做,因此用户实际上停留在site.com/files/path?query
/files/path
存在并且files
文件夹实际上有自己的.htaccess文件。这就是原因吗?我删除了/files/.htaccess
,它可以正常工作。但为什么会这样呢?/files/.htaccess
文件是否覆盖了/.htaccess
,或者什么?如果/files
中的.htaccess有自己定义的重写规则,或者甚至在上存在重写引擎,它将替换目录层次结构中定义的任何更高的规则。我不认为即使没有定义mod_rewrite内容,只要存在.htaccess也会覆盖任何更高的规则,但是如果在/files/.htaccess