Назад | Перейти на главную страницу

Моя перезапись 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.

+ Изменить break к last.

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

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