首页 > 其他 > 详细

Nginx配置pathinfo

时间:2014-12-18 15:31:40      阅读:346      评论:0      收藏:0      [点我收藏+]

Nginx默认不支持pathinfo格式的url,最近学习ThinkPHP的URL_MODEL时遇到了这个问题。Apache服务器下开启rewrite,将AllowOverride设置为All就ok了,但是Nginx却需要进一步配置,网上找了很多教程,大都是转载的比较多,试了好几个都没有成功。后来按照另一个教程进行配置,结果ok了。下面是配置过程。

1.Nginx.conf下配置如下

      server
  {
    listen 80;
    server_name test.com;
    index index.php;
    root D:/phpStudy/WWW/test;
     #这里是开启rewrite隐藏index.php
     location / {        
       if (!-e $request_filename) { # -e表示存在某个文件或目录
           rewrite  ^(.*)$  /index.php/$1  last; #last相当于apache中的[L],表示不再往下匹配
               break;
           }
    }
     #这里是pathinfo的配置
    location ~ \.php {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
        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;
    }
  }

2.hosts文件里配置

127.0.0.1  test.com


ok,打开浏览器试下,http://test.com/Home/Index/index,欧拉!

Nginx配置pathinfo

原文:http://php2013.blog.51cto.com/7147744/1591277

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!