子文件夹中的htaccess文件

时间:2014-01-04 19:46:21

标签: apache .htaccess mod-rewrite

我的开发环境的文件夹结构类似于

  

/服务器/ PROJECT1

     

/服务器/项目2

     

/服务器/根

在/ server中我有一个htaccess文件,它将所有来自dev。*的内容重写为/ server / root,如此;

<IfModule mod_rewrite.c>
   RewriteEngine on

   RewriteCond %{HTTP_HOST} ^dev [NC]
   RewriteRule ^(.*)$ root/$1 [L,QSA]

</IfModule>

这很有效,但当使用类似于dev.local.com/project1

的URL时,在/ server / project1中存在具有重写规则的htaccess时失败了

我希望它忽略/ server / project1中的htaccess文件,并始终指向/ root我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果子目录中有规则,那么这些规则将始终优先于父目录中的规则。在apache 2.2中,您可以做的最好的事情是使用RewriteOptions继承父目录中的规则子目录中的规则:

RewriteOptions inherit

根据您使用的规则,不确定这是否会有所帮助。

在apache 2.4中,RewriteOptions指令还有一些选项。您现在可以使用“InheritBefore”选项将规则粘贴到当前子目录中的规则之前的主目录中。

您唯一的另一个选择是设置您的vhost,使dev位于自己的vhost中,文档根目录位于/root/