在 Opencart 中,404 错误显示在这个 URL 中:/index.php?route=error/not_found 此页面有一个 404 自定义页面,其中包含所有网站的模板。
我在 Nginx 中尝试过:
error_page 404 = /index.php?route=error/not_found;
但是它会转到 nginx 404 错误页面。如果我只写:
error_page 404 = /index.php;
它进入索引,但我不想进入索引,我想进入 404 opencart 页面。
我也尝试过使用命名位置并在重写内部进行尝试,但无法使其正常工作:
error_page 404 = @error;
location @error {
rewrite ^.*$ /index.php?route=error/not_found last;
}
它也不起作用。它会转到 nginx 404 错误页面
答案1
好的,我找到问题了。fastcgi_intercept_errors 已打开,nginx 正在拦截错误...现在看来很明显了。我将其更改为关闭 fastcgi_intercept_errors,现在运行正常。