处理 Nginx 中不存在的 PHP 页面的最佳方法是什么?我有以下位置块...
location ~ \.php$ {
fastcgi_pass localhost:9000;
include fastcgi_params;
}
如果 PHP 页面不存在,我希望能够显示 404 错误,我猜我需要获取try_files
(http://wiki.nginx.org/HttpCoreModule#try_files) 指令涉及通过使用error_page
指令(在其他地方声明)处理所有错误,但不确定执行此操作的最佳方法。
任何帮助,将不胜感激。
答案1
只需使用error_page(你可以将page_not_found.html更改为php脚本):
error_page 404 /page_not_found.html;
location ~ \.php$ {
fastcgi_pass localhost:9000;
include fastcgi_params;
fastcgi_intercept_errors on;
}
如果找不到页面,则尝试文件需要重定向到不同的服务器。