thinkphp框架写的项目在nginx下无法正常访问报错的原因以及解决方法

nginx环境问题弄了两天,发现网上很多人的帖子要么复制粘贴,要么就是没有结贴,还自己写一句“哈哈,我自己解决了”之类的,这点我就鄙视这些发帖的同胞了,你说你问题问了,问题解决了也不给个解释。还在搜索的前几页,想没想过需要答案的人的感受呢。满心欢喜的去看答案,发现没有结贴。好吧,不多说,进入正题。

我这种方式是不需要将URL_Model改为rewrite/兼容的:

大约第43行,按照下面的对照自己的code进行修改,请注意细节的符号:

?
1
2
3
4
5
6
7
8
9
10
location / {
      root  C:/Zend/workspaces; # //这是你自己项目的根目录。
      index index.html index.htm index.php;
      
      if (!-e $request_filename ) {
      rewrite ^/(.*)$ /index.php/ $1 break
      break ;
      }
      
    }

在php的配置中,将location ~ \.php$ 改为 location ~ \.php,再次强调,注意细节,这里去掉了$符号,我刚开始也是因为这个原因一直没能解决。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
location ~ \.php {
      root      C:/Zend/workspaces;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME C:/wnmp/php $fastcgi_script_name ;
      include    fastcgi_params;
      set $path_info "" ;
      set $real_script_name $fastcgi_script_name ;
      if ( $fastcgi_script_name ~ "^(.+?\.php)(/.+)$" ) {
      set $real_script_name $1 ;
      set $path_info $2 ;
      }
      fastcgi_param SCRIPT_FILENAME $document_root $real_script_name ;
      fastcgi_param SCRIPT_NAME $real_script_name ;
      fastcgi_param PATH_INFO $path_info ;
    }

如果仍未解决,在ThinkPHP入口文件index.php中加入配置define(‘_PHP_FILE_',$_SERVER['SCRIPT_NAME']);

期间大家可能会遇到500,404的问题,但记住一点,细心就行。只要按照我这个改,基本没什么问题。如果还有问题,欢迎留言咨询。

以上所述就是本文的全部内容了,希望大家能够喜欢。


以上内容转载于:http://www.jb51.net/article/68705.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值