Можно ли установить error_page для одного места - PullRequest
0 голосов
/ 17 января 2019

У меня есть приложение PHP, которое возвращает либо страницу HTML, либо перенаправление 302 на изображение, в зависимости от маршрута и строки запроса.

Примеры:

  1. site.com?id=123 вернет HTML-страницу
  2. site.com/image?id=123 вернет 302 к изображению

Если идентификатор не найден, я хотел бы вернуть страницу HTML 404 для первого маршрута и изображение для второго.

Я знаю, что мог бы сделать это в приложении PHP, но я бы предпочел не читать и выводить JPG в PHP, когда я могу сделать это с NGINX.

server {
        root   /var/www/html/public;
        index  index.php;

        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
            fastcgi_intercept_errors on;
            fastcgi_index   index.php;
            fastcgi_pass    127.0.0.1:9000;
            include         fastcgi_params;
            fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
            fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        }
}
...