nginx开启默认(pathinfo)模式

回复 收藏

基于thinkphp框架开发的代码,nginx需要的配置开发的人跟我说基于thinkphp框架开发的代码在apache下能用,在nginx下为什么用不了呢,总是提示404的错误,原来apache默认就支持thinkphp等所需的PATH_INFO,而nginx不可以,那么接下来,我们就配置一下nginx,让他支持PATH_INFO,我是这么做的:

1,更改php.ini     首先php.ini的配置(/usr/local/php/etc/php.ini)中把     ;cgi.fix_pathinfo=0   改为      cgi.fix_pathinfo=1

2,vim /usr/local/nginx/conf/vhosts/111.conf

 server

  2 {

  3     listen 80;

  4     server_name www.111.com ;

  5     index index.html index.htm index.php;

  6     root /data/www;

  7

  8

       

 #隐藏index.php 因为有的时候不希望看见入口文件 我这是隐藏了一级目录和index.php 

       location / {

             root /data/www;

            index index.html index.htm index.php;

            if (!-e $request_filename) {

                   rewrite ^/anju/(.*)$ /anju/Web/index.php/$1 last;

               }

#####################################################################################

  9     location ~ \.php {  #注意去掉这里的$符号

 10         include fastcgi_params;

 11         fastcgi_pass unix:/tmp/php-fcgi.sock;

 12         fastcgi_index index.php;

 13

 14 #########################开启pathinfo模式##############################

 15         fastcgi_split_path_info ^(.+\.php)(.*)$;

 16         fastcgi_param PATH_INFO $fastcgi_path_info;

 17 #######################################################################

 18

 19         fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;

 20

 21     }

 22

 23 }

2016-09-19 13:58 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: