windows+nginx配置站点目录发生500的一个问题
【摘要】 用phpstudy配置一个站点的时候,发现一直报错500,后来查看了下error.log.报错如下:而phpstudy站点配置如下:server { listen 80; server_name www.cn ; root "F:\work\www\test_for_windows"; location / { ...
用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
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)