Как остановить подкаталог, наследующий родительские правила htaccess - PullRequest
22 голосов
/ 29 марта 2012

Мой основной каталог public_html имеет следующие правила .htaccess:

Options +FollowSymLinks
IndexIgnore */*
<IfModule mod_rewrite.c>
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php
</IfModule>

Проблема в том, что у меня есть подкаталог с именем source, и я хочу, чтобы этот каталог просто перечислял файлы внутри него (потому чтонет индексного файла).Проблема заключается в том, что правила htaccess вышеприведенного родительского каталога не приводят к отображению файлов в источнике в индексе каталога (он просто содержит пустой индекс).

Как мне решить эту проблему?

СПАСИБО

Ответы [ 2 ]

21 голосов
/ 29 марта 2012

Измените ваш .htaccess с этим:

Options +FollowSymLinks
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# if request is not for the /sub-dir/
RewriteCond %{REQUEST_URI} !^/sub-dir/ [NC]
# otherwise forward it to index.php
RewriteRule . index.php
</IfModule>
3 голосов
/ 29 марта 2012

Это может быть очевидно, и вы уже попробовали это - но создали ли вы файл .htaccess в интересующей вас подпапке? Любые настройки в этом файле переопределяют эквивалентные настройки в корневой папке.

UPDATE:

Для корневого файла .htaccess вместо IndexIgnore */* ... пытаться Options -Indexes

Затем в файле .htaccess подпапки поместите эту единственную строку: Options +Indexes

Достигает ли это желаемого эффекта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...