Я пытаюсь стать моим php-файлами без .php
расширение заканчивается в браузере и перенаправляет все на не .php
Я уже настроил, что оба доступны. С .php и без .php
в браузере Но сейчас просто нужно переписать.
Ты можешь мне помочь?
location / {
try_files $uri $uri $uri/ @extensionless-php;
}
location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}
С наилучшими пожеланиями
Вы, вероятно, есть 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
,
Других решений пока нет …