博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

nginx支持pathinfo并且隐藏index.php

Posted on 2016-10-31 19:00  京京周京京  阅读(1308)  评论(0)    收藏  举报

 

How To Set Nginx Support PATHINFO URL Model And Hide The /index.php/

就像这样

The URL before setting like this:

http://serverName/index.php?m=Home&c=Customer&a=getInformation&id=1

Now like this:

http://serverName/Home/Customer/getInformation/id/1


这是偶的配置:

server {

    listen       80;

    server_name  mybuy.com;

    root   /Users/he/Projects/maibei-backend;

    #charset koi8-r;

 

    access_log  /Users/he/weblog/mybuy.com.access.log;

    error_log   /Users/he/weblog/mybuy.com.error.log;

    location / {

        if (!-e $request_filename) {

            rewrite  ^(.*)$  /index.php?s=$1  last;

            break;

        }

        index  index.php index.html index.htm;

    }

 

 

    # pass the PHP scripts to FastCGI server listening on 192.168.1.123:9000

    #

    location ~ \.php {

        fastcgi_pass   127.0.0.1:9000;

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME $document_root$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;

    }

}