nginx+thinkphp下解决不支持pathinfo模式

yipeiwu_com6年前PHP代码库

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

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

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

 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,再次强调,注意细节,这里去掉了$符号,我刚开始也是因为这个原因一直没能解决。

 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的问题,但记住一点,细心就行。只要按照我这个改,基本没什么问题。如果还有问题,欢迎留言咨询。

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

相关文章

基于PHP5魔术常量与魔术方法的详解

魔术常量:1。__LINE__返回文件中的当前行号。2。__FILE__  返回文件的完整路径和文件名。如果用在包含文件中,则返回包含文件名。自PHP4.0.2 起,__FILE__总是...

PHP微信支付结果通知与回调策略分析

本文实例讲述了PHP微信支付结果通知与回调策略。分享给大家供大家参考,具体如下: 支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答。 对后台通知交互时,...

php如何比较两个浮点数是否相等详解

前言 本文主要给大家介绍了关于利用php如何比较浮点数是否相等的相关内容,下面话不多说了,来一起看看详细的介绍吧 看下面这段代码, 0.9+0.1 的相加结果与 1 进行比较 &...

PHP实现的AES双向加密解密功能示例【128位】

本文实例讲述了PHP实现的AES双向加密解密功能。分享给大家供大家参考,具体如下: <?php /* * Created on 2018-9-1 * * To c...

WordPress开发中的get_post_custom()函数使用解析

同get_post_meta()一样,用于返回文章的自定义字段值得一个函数,只不过get_post_custom()函数使用起来更简单,如果在循环中使用你甚至不需要设置任何参数。 其实g...