내가 시도하는 다음과 같은 다시 쓰기 규칙이 있습니다.
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
URL로 처리해야하므로 새 재 작성된 URL에 대해 nginx 재시작 처리가 필요합니다 . last
이는 rewrite
규칙 에서 사용할 때만 수행됩니다 .
자세한 설명 은 문서 를 참조하십시오 .