Использование .htaccess для запрета прямого доступа к подкаталогам, кроме делегатов RewiteRule

#apache #.htaccess #mod-rewrite

#apache #.htaccess #мод-переписать

Вопрос:

Я просто не хочу, чтобы клиент получал доступ к файлам из подкаталогов напрямую, просто с помощью RewriteRule.

Пример:

http://www.page.com/dostuff /dostuff должен быть переписан в /php/dostuff.php и интерпретируется

но

http://www.page.com/php/dustuff.php получит 404

Проблема в том, что когда я переписываю в каталог, .htaccess будет выполнен для подкаталога, и я всегда получу 404. Я хотел бы получить решение без .htaccess для каждого подкаталога

вот мое правило:

 RewriteRule ^dostuff$ /php/dostuff.php [L]
RewriteRule ^css/(.*)$ /html/css/$1 [L]
RewriteRule ^js/(.*)$ /html/js/$1 [L]
 

Приветствует

luni

Комментарии:

1. RewriteRule ^dostuff$ /php/dostuff.php [L] RewriteRule ^css/(.*)$ /html/css/$1 [L] RewriteRule ^js/(.*)$ /html/js/$1 [L]

2. пока нет ограничений доступа, потому что они не работают

3. вы пробовали добавлять RewriteCond %{REQUEST_FILENAME} !-f и RewriteCond %{REQUEST_FILENAME} !-d перед RewriteRules? Выполняет ли файл /php/dostuff.php на самом деле существуют? Я не вижу, как правила применяются более одного раза. У вас где-то нет RewriteOptions Inherit set, не так ли?