Возможно, у вас есть блок location ~ \.php
для обработки URI, которые заканчиваются на .php
.И вы должны включить в этот блок оператор try_files $uri =404;
, чтобы не передавал неконтролируемые запросы в PHP .
. Вы также можете добавить директиву internal
к этому блоку, что предотвратит внешний доступна .php
URI, так что будут работать только ваши PHP URI без расширения.Подробнее см. в этом документе .
Например:
location ~ \.php$ (
internal;
try_files $uri =404;
...
}
Если вы хотите перенаправить браузер для использования PHP без расширений, когда URI, заканчивающийся .php
непреднамеренно представленный, вам нужно взглянуть на исходный URI запроса, в противном случае вы рискуете цикл перенаправления.
Например:
if ($request_uri ~ \.php($|\?))
{
rewrite ^(.*)\.php$ $1 permanent;
}
См. это предупреждение по использованиюif
.