500错误页面nginx

时间:2015-04-21 14:35:28

标签: nginx custom-error-pages

在过去的几天里,我一直试图让500页工作,首先我使用了与错误404相同但我没有使用的相同的东西,我认为它是'因为它是一个.php文件

error_page 404 /errors/404.php;
error_page 500 502 503 504 /errors/500.php;

有没有办法使用php文件作为500错误,或者我是否必须创建" 500.html"并将所有代码复制为与网站类似的页面?

要创建我使用的500错误:

fastcgi_pass unix:/var/run/php-fpm/php-fpm.soc;
instead of fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

出现500.html时会出现错误,但是.php没有出现错误,这个是逻辑,因为我更改了配置以运​​行php文件,但在php错误中也没有工作

编辑:

domain.com.conf:

server {
    listen       80;
    server_name  www.domain.com;

    root   /var/www/domain.com/www;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri.html $uri/ @extensionless-php;
    }

    location @extensionless-php {
        rewrite ^(.*)$ $1.php last;
    }

    error_page 404 /errors/404.php;
    error_page 500 502 503 504 /errors/500.php;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

500.php:

<!DOCTYPE html>
<html>
        <head>
                <?php include_once '../meta.php'; ?>
                <?=meta500?>
                <?php include_once '../header.php'; ?>
                <title><?=title500?></title>
        </head>
        <body>
                <?php include_once("../analyticstracking.php") ?>
                <?php include_once '../nav.php'; ?>
                <?php include_once 'containerError500.php'; ?>
        </body>
</html>

这适用于404页面和所有其他页面。

0 个答案:

没有答案