找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 362|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2536

主题

2536

帖子

7532

积分

论坛元老

Rank: 8Rank: 8

积分
7532
跳转到指定楼层
楼主
发表于 2018-2-14 05:44:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            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的问题,但记住一点,细心就行。只要按照我这个改,基本没什么问题。如果还有问题,欢迎留言咨询。
以上所述就是本文的全部内容了,希望大家能够喜欢。
            
            
您可能感兴趣的文章:
  • 在nginx中配置pathinfo模式支持thinkphp的URL重写
  • Nginx隐藏index.php和Pathinfo模式配置例子
  • nginx支持codeigniter的pathinfo模式url重写配置写法示例
  • nginx中配置pathinfo模式示例
  • Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式
  • Nginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持
  • nginx配置支持php的pathinfo模式配置方法
  • Nginx下实现pathinfo及ThinkPHP的URL模式
  • Nginx如何实现pathinfo模式的方法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端