Разрешить прямой доступ к конкретному файлу php

1

Правило ниже должно блокировать любой прямой доступ ко всем *.php файлам:

RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ]
RewriteRule \.php$ - [F]

Есть ли способ исключить 1 или 2 php файлы, которые следует игнорировать этим глобальным правилом?

пример:

все *.php файлы (игнорируются при непосредственном доступе)

cronjob.php, specialpage.php (следует игнорировать правило выше и разрешить прямой доступ).

можете ли вы показать пример исключенных (1) или (2 или более) файлов.

PS: если такое правило для исключения этих файлов существует, какой флаг нужно применять? [L] или [R,L] или????

Теги:
.htaccess
mod-rewrite

1 ответ

2
Лучший ответ

Вы можете использовать отрицание в RewriteRule:

RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] [NC]
RewriteRule !(^|/)(cronjob|specialpage)\.php$ - [F,NC]
  • 0
    мне все еще нужно включить RewriteRule \.php$ - [F] за ваше правило отрицания?
  • 0
    и для одной страницы это будет: RewriteRule !^cronjob\.php$ - [F, NC]?
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню