原创

windows+nginx配置站点目录发生500的一个问题

温馨提示:
本文最后更新于 2018年08月21日,已超过 1,632 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

用phpstudy配置一个站点的时候,发现一直报错500,后来查看了下error.log.报错如下:

仙士可博客

而phpstudy站点配置如下:

仙士可博客

server {
        listen       80;
        server_name  www.cn ;
        root   "F:\\work\\www\\test\_for\_windows";
        location / {
            index  index.html index.htm index.php;
            #autoindex  on;
        }
        location ~ \\.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi\_split\_path_info  ^((?U).+\\.php)(/?.+)$;
            fastcgi\_param  SCRIPT\_FILENAME  $document\_root$fastcgi\_script_name;
            fastcgi\_param  PATH\_INFO  $fastcgi\_path\_info;
            fastcgi\_param  PATH\_TRANSLATED  $document\_root$fastcgi\_path_info;
            include        fastcgi_params;
        }
}

后来才发现问题在于:

windows的目录分隔符默认是"\"

而linux默认是"/"
而\t,\r\n,\r恰好是转义字符

而nginx配置文件是可以转义这些字符的,导致配置出错,出现了500问题

至于解决方法,多加一个\就行了,比如\\t,\\r\\n,\\r

正文到此结束
本文目录