是否可以为单个位置设置error_page

时间:2019-01-17 12:38:08

标签: php nginx nginx-location nginx-config

我有一个PHP应用程序,该应用程序根据路径和查询字符串返回HTML页面或302重定向到图像。

示例:

  1. site.com?id=123将返回HTML页面
  2. site.com/image?id=123将使图像返回302

如果找不到ID,我想返回第一个路线的HTML 404页面,第二个路线返回一个图像。

我知道我可以在PHP应用程序中执行此操作,但是当我可以使用NGINX进行操作时,我宁愿不必在PHP中读取和输出JPG。

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;
        }
}

0 个答案:

没有答案