.htaccess 中包含文件

.htaccess 中包含文件

是否可以将 .htaccess 包含在另一个 .htaccess 文件中。目的是将所有 .htaccess 放在一个位置。

谢谢 Jean

答案1

似乎不可能。

但是您可以在 httpd conf VirtualHost 或 Directory conext 中使用任何 htaccess 规则,其中可以包含。

例如:

<Directory /var/www/site1/>
   <...>
   Include /etc/apache/conf.d/site1-htaccess.inc
</Directory>

也可以看看:http://httpd.apache.org/docs/2.0/mod/core.html#include

答案2

如果我理解正确的话,Apache 将在当前目录上方的每个目录中检查 .htaccess 文件,其中 AllowOverride 设置为 None 以外的值。

这意味着,如果某个网站的 DocumentRoot 是 /var/www/hello/,并且它正在处理 /path/name/filename 的请求,它将检查:/
.htaccess
/var/.htaccess
/var/www/.htaccess
/var/www/hello/.htaccess
/var/www/hello/path/.htaccess
/var/www/hello/path/name/.htaccess

因此,如果您愿意,您可以在服务器的 DocumentRoot 中使用单个 .htaccess 文件,甚至可以在该文件之上使用来影响多个站点,只要 AllowOverride 允许该目录即可。

相关内容