В 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;
}
Это тоже не работает. Переходит на страницу ошибки 404 nginx
Хорошо, я нашел проблему. fastcgi_intercept_errors был включен, а nginx перехватывает ошибки ... теперь это кажется очевидным. Я переключился на fastcgi_intercept_errors off, и теперь работает отлично.