nginx-php fastcgi配置,php文件404错误问题。

nginx-php fastcgi配置,php文件404错误问题。

为你鎻心 发布于 2021-11-27 字数 1287 浏览 987 回复 2
server {
    listen              80;
    server_name
                        www.domain.cn
                        ;
    charset             utf-8;
    set                 $root '/dat/www/www.domain.cn/public';
    root                $root;

    index               index.php index.html index.htm;
    try_files           $uri $uri/ @rewrite;
    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }

    location ~ .php$ {
        root           $root;
        try_files      $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

访问不存在的php就会出现这个错误。

2015/06/08 06:29:06 [error] 24104#0: *37125 open() "/dat/www/www.domain.cn/public404" failed (2: No such file or directory), client: 123.125.71.58, server: www.domain.cn, request: "GET /news.php HTTP/1.1", host: "www.domain.cn"

即便增加fastcgi_intercept_errors on,也还是会有此类的错误信息在error.log中。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

等你爱我 2021-11-30 2 楼

set                 $root '/dat/www/www.domain.cn/public';
root                $root;

上面写了,就不要在这里也写了

location ~ .php$ {
        root           $root;
        try_files      $uri = 404;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  PATH_INFO        $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

另外确定你文件是否真的存在

睫毛上残留的泪 2021-11-30 1 楼

你把错误日志注释掉,看看