Я хочу заблокировать доступ к «sub / folder / index.php», но не «index.php» в другом месте.
<Files index.php> Order allow,deny Deny from all </Files>
работает, но блокирует все файлы index.php.
<Files sub/folder/index.php> Order allow,deny Deny from all </Files>
не работает. Нужно ли использовать <Directory>
?
Я не хочу создавать файл .htaccess в sub / folder
У меня нет доступа к httpd.conf
Я не хочу блокировать все в каталоге sub /
Если бы это было так просто, я бы не просил;)
Я думаю, что самое простое правило:
RedirectMatch 403 ^.*/sub/folder/index\.php$
RedirectMatch находится в модуле mod_alias, который вы, безусловно, имеете. Это не означает двигатель mod_rewrite. Здесь мы просто говорим apache, что любой доступ к sub / folder / index.php будет генерировать «403 запрещенный» ответ.
Вы можете поместить это в httpd.conf или в корневой .htaccess (но действительно подумайте об удалении всего .htaccess, это плохо, это медленно, грустно, что у вас нет доступа к реальным файлам конфигурации).
Я пытаюсь создать другой .htaccess в этом суб / папке /, чтобы заблокировать доступ к этому index.php.
«Если вы поместите файл .htaccess в подпапку, его директивы будут переопределять те, которые у вас есть в главной папке вашего сайта».
На этой странице есть дополнительная информация: http://www.besthostratings.com/articles/htaccess.html
Как создать файл .htaccess
в конкретной папке, содержащей файлы, которые вы хотите защитить?
Редактировать:
Будьте осторожны, это фактически не работает в простом файле .htaccess
, см. Комментарии ниже. Это будет работать только в файле apache.conf.
Это должно к трюку для вас без другого файла .htaccess
:
<Directory sub/folder> <Files index.php> Order allow,deny Deny from all </Files> </Directory>
Вы можете использовать имена файлов только в разделах <Files>, а не в путях.
Есть три варианта, которые я вижу;
–
RewriteEngine on RewriteRule ^sub/folder/index.php$ http://yoursite/index.locked
Дает 404 файла, если вы хотите, чтобы разрешено отклонение, создайте защищенный файл для чтения в указанном месте.