AFAIK默認情況下,導致所要求的文件中的所有目錄中的所有.htaccess文件進行解析,即在此設置:如何防止.htaccess繼承?
DOC_ROOT = /usr/local/www/data
AllowOverride
在上述目錄設置爲All
如果請求的文件號爲/dir1/dir2/dir3/file
,則將檢查/
關閉的所有文件夾是否爲.htaccess
。如果找到該文件,則會解析該文件,然後根據.htaccess
文件的組合內容繼續執行。
因此,這裏是我的設置:
DOC_ROOT = /usr/local/www/data
- 這就是所有的靜態和PHP文件的保存。DOC_ROOT
中有.htaccess
,它重寫除index.php以外的所有請求。- 有一個在
DOC_ROOT
一個/Python/root.wsgi
並在httpd.conf中有這樣的:WSGIScriptAlias /apps /usr/local/www/data/Python/root.wsgi
正如你可以想像我不想將所有用於/ Python的文件夾的.htaccess,但它是。我如何防止它?
我試着在httpd.conf設置這一點,但它不會做的工作:
<Directory "/usr/local/www/apache22/data/Python">
AllowOverride None
</Directory>
如果我不把在Python文件夾的.htaccess與RewriteEngine off
,似乎做的工作,但我不希望被迫將這樣的文件放在每個我不希望根目錄使用的.htaccess子文件夾中。
而且你不能通過AllowOverride選項來改變它嗎? –
要回答我自己的問題 - AllowOverride的工作基於每個目錄的基礎上,即如果設置爲無文件夾,這是一個啓用它的子文件夾,它的父級的.htaccess將被解析,但它自己不。 –