Crazy knowledge base

tp3,nginx配置支持pathinfo

Nginx默认是不支持PATHINFO的

 

第一步,修改server块

server {
    listen   80;
    server_name  www.domain.com domain.com;
    error_page   404              /404.html;
    error_page   500 502 503 504  /50x.html;
#这个location块处理动态资源请求.
    location ~  \.php   {
        root /data0/htdocs/www;
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi.conf;       
    }
    #这个location处理能处理所有的静态资源
    location / {
        root   /data0/htdocs/www;
        index  index.php index.html index.htm;
        #如果请求资源既不是静态目录资源(目录资源就是请求该目录下的默认首页index指令指定的默认资源),也不是静态文件资源时候,就需要脚本动态生成,重写后重新用第一个处理动态请求的location块处理。
        if (!-e $request_filename){
            #一定要用(.*)匹配整个URI,包含URI第一个字符反斜杠/
            rewrite ^(.*)$ /index.php?s=$1 last;
        }
    }
}

 

第二步:打开thinkphp框架的配置文件config.php

修改URL_MODEL=>3,采用rewrite兼容模式,并且修改
'VAR_PATHINFO'=> 's', 重写时我们用的是s=""的形式.

 

tp3,nginx配置支持pathinfo

发表评论

滚动到顶部