我有以下.htaccess指令:
<FilesMatch ".(htm|html|php)$">
php_value auto_prepend_file "/home/abc/public_html/_prepend.php"
php_value auto_append_file "/home/abc/public_html/_append.php"
</FilesMatch>
我需要从auto_prepend和auto_append中排除一个非常具体的目录'/ home / abc / public_html / exclude /。
有可能吗?
答案 0 :(得分:5)
.htaccess files - What they are/How to use them解释了.htaccess
文件的工作原理
包含一个或多个配置指令的文件放在特定的文档目录中,指令适用于该目录及其所有子目录。
这意味着,您可以在/home/abc/public_html/
中创建.htaccess文件,在/home/abc/public_html/exclude/
中创建另一个包含相同,不同甚至相互矛盾的指令的文件。
查看PHP - auto_prepend_file
,您可以看到
特殊值
none
禁用自动前置。
同样适用于auto_append_file
。
将这两件事放在一起意味着,你可以拥有现有的.htaccess
# /home/abc/public_html/.htaccess
<FilesMatch ".(htm|html|php)$">
php_value auto_prepend_file "/home/abc/public_html/_prepend.php"
php_value auto_append_file "/home/abc/public_html/_append.php"
</FilesMatch>
和exclude
子目录中的第二个.htaccess
# /home/abc/public_html/exclude/.htaccess
<FilesMatch ".(htm|html|php)$">
php_value auto_prepend_file none
php_value auto_append_file none
</FilesMatch>