Как переписать расширение .php, чтобы оно не заканчивалось на Nginx?

Я пытаюсь стать моим php-файлами без .php расширение заканчивается в браузере и перенаправляет все на не .php

Я уже настроил, что оба доступны. С .php и без .php в браузере Но сейчас просто нужно переписать.

Ты можешь мне помочь?

location / {
try_files $uri $uri $uri/ @extensionless-php;
}

location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}

С наилучшими пожеланиями

2

Решение

Вы, вероятно, есть 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,

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector