Вопрос: Мой nginx переписывает загрузку php-файла


Я использую следующее правило перезаписи:

            location / {
                    index index.php index.html;
                    rewrite  ^/test$  /test.php  break;
            }

И у меня также есть:

            location ~ \.php$ {
                    fastcgi_pass    127.0.0.1:9000;
                    include         fastcgi_params;
                    fastcgi_param SCRIPT_FILENAME /home/sites/default$fastcgi_script_name;
                    fastcgi_index   index.php;
            }

Нормальные php-файлы работают нормально, но, похоже, мой перенаправление - это просто загрузка файла php, к которому я перенаправляюсь, вместо его разбора.

Что мне не хватает? Я получил файл для загрузки, вместо загрузки, поместив материал fastcgi в первый блок местоположения, но он все еще не разбирался как php.


8
2017-09-06 05:41


Источник




Ответы:


+ Изменить break в last,

Поскольку новый URL-адрес должен быть обработан другим location, вам нужно перезагрузить обработку nginx для нового переписанного URL-адреса, который выполняется только при использовании last в rewrite править.

Видеть документы для более полного объяснения.


17
2017-09-06 06:09