У меня есть следующее правило перезаписи, которое я пытаюсь:
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
правило.
Видеть документы для более полного объяснения.