2

我有这个 nginx 配置文件:

server {
    listen 80;
    server_name tds.my;
    root /home/tds;
    index index.php;
    error_page 500 502 503 504 /errs/50x.html;
    error_page 400 401 402 403 404 /errs/404.html;

    if ( $request_uri !~ "/errs|index\.php" ) {
            rewrite ^(.+)$ /index.php last;
    }

    location ~ .php$ {
            fastcgi_intercept_errors on;
            fastcgi_index index.php;
            fastcgi_pass unix:/tmp/php-fcgi.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }

}

index.php 生成状态为 500 的错误。链接http://tds.my/index.php返回静态页面http://tds.my/errs/50x.html,但链接http://tds。 my/example.php不返回静态页面。我认为这是因为使用了重写。

如何配置 nginx 来解决这个问题?

4

1 回答 1

1

请看一下指令recursive_error_pages,它对我有用。并向Jim D致敬。

于 2013-06-27T09:04:52.930 回答