Если запрашивается /help
, он внутренне переписывается на /scripts/help.php
, что соответствует шаблону <FilesMatch>
.Вот почему доступ к /help
также запрещен.
Но вы можете использовать mod_rewrite только для запрета доступа к /scripts/help.php
, если он был запрошен напрямую, проверив строку запроса :
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]*\.php[/? \]
RewriteRule .*\.php.*$ - [F]
Здесь ^[A-Z]+\ /[^?\ ]*\.php[/? \]
проверяет, есть ли .php
в запрошенном пути URI (ему может предшествовать только любой символ, кроме ?
и пробел) и за ним следует /
(разделитель сегмента пути), ?
(индикатор для запроса URI) или пробел (конец URI).