您的位置:首页 > 运维架构 > Nginx

最新完美解决nginx支持thinkphp的PATH_INFO,URL格式的问题

2016-07-18 11:38 716 查看
server

    {

        listen 80;

        #listen [::]:80;

        server_name www.hephp.com;

        index index.html index.htm index.php default.html default.htm default.php;

        root  /home/wwwroot/www.hephp.com;

        include n.conf;

        #error_page   404   /404.html;

        #include enable-php.conf;

        location / {

            index  index.htm index.html index.php;

            #访问路径的文件不存在则重写URL转交给ThinkPHP处理

            if (!-e $request_filename) {

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

                break;

            }

        }

        location ~ \.php{

            #root /home/wwwroot/www.hephp.com;

            fastcgi_pass   unix:/tmp/php-cgi.sock;

            fastcgi_index  index.php;

            #加载Nginx默认"服务器环境变量"配置

            include        fastcgi.conf;

            #设置PATH_INFO并改写SCRIPT_FILENAME,SCRIPT_NAME服务器环境变量

            set $fastcgi_script_name2 $fastcgi_script_name;

            if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {

                set $fastcgi_script_name2 $1;

                set $path_info $2;

            }

            fastcgi_param   PATH_INFO $path_info;

            fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;

            fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;

        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

        {

            expires      30d;

        }

        location ~ .*\.(js|css)?$

        {

            expires      12h;

        }

        location ~ /\.

        {

            deny all;

        }

        access_log off;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: