最近搞TP5,配置Nginx服务器。玩惯了Apache,发现nginx确实很不一样。尝试了N种方法都无法配置成功。
因为用windows本地开发调试的,根目录下又有多个目录,一直不知道在怎么弄。最后终于找到解决方法。
location ~ \.php { #去掉$
root H:/PHPServer/WWW;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$; #增加这一句
fastcgi_param PATH_INFO $fastcgi_path_info; #增加这一句
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
再去掉index.php:
location /sgy/ {
if (!-e $request_filename){
rewrite ^/sgy/public/(.*)$ /sgy/public/index.php?s=$1 last;
}
}
2016.12.17后续:
发现了一直以来一个错误,导致一直出现的不理解的问题,现在解决了;在不解析到/public/目录的情况下,经常出现文件找不到的情况。之前的配置方法一直是像上面那样:
location / {
root D:/wnmp/www;
index index.html index.htm index.php;
}
location /sgy/ {
if (!-e $request_filename){
rewrite ^/sgy/public/(.*)$ /sgy/public/index.php?s=$1 last;
}
}
但是这样的话,下面的并没有指定root!改为:
location / {
root D:/wnmp/www;
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^/sgy/public/(.*)$ /sgy/public/index.php?s=$1 last;
}
}
然后问题就解决了。
0 条评论
来做第一个留言的人吧!