Как переписать расширение .php, чтобы оно не заканчивалось на Nginx? - PullRequest
0 голосов
/ 17 декабря 2018

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

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

Вы могли бы помочь мне их?

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

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

С уважением

1 Ответ

0 голосов
/ 17 декабря 2018

Возможно, у вас есть блок 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...