Правило ниже должно блокировать любой прямой доступ ко всем *.php
файлам:
RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ]
RewriteRule \.php$ - [F]
Есть ли способ исключить 1 или 2 php файлы, которые следует игнорировать этим глобальным правилом?
пример:
все *.php
файлы (игнорируются при непосредственном доступе)
cronjob.php, specialpage.php
(следует игнорировать правило выше и разрешить прямой доступ).
можете ли вы показать пример исключенных (1) или (2 или более) файлов.
PS: если такое правило для исключения этих файлов существует, какой флаг нужно применять? [L]
или [R,L]
или????
Вы можете использовать отрицание в RewriteRule
:
RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] [NC]
RewriteRule !(^|/)(cronjob|specialpage)\.php$ - [F,NC]
RewriteRule \.php$ - [F]
за ваше правило отрицания?RewriteRule !^cronjob\.php$
- [F, NC]?