nginx配置thinkphp5支持pathinfo模式

nginx本来是不支持pathinfo模式的,需要手动配置nginx配置文件

直接上配置文件:

server
    {
        listen 80;
        #listen [::]:80;
        server_name www.scp.cn scp.cn;
        index index.html index.htm index.php default.html default.htm default.php;
        root  /home/wwwroot/www.scp.cn;

        include index.php.conf;
        #error_page   404   /404.html;

        # Deny access to PHP files in specific directory
        #location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
        #include enable-php.conf;
include enable-php-pathinfo.conf;

location / {  
                       index index.php;  
                        if (!-e $request_filename) {  
                                rewrite ^(.*)$ /index.php/$1 last;  
                                        break;  
                        }  

            }  


        location ~ .+\.php($|/) {  
                    set $script $uri;  
                    set $path_info "/";  
                    if ($uri ~ "^(.+\.php)(/.+)") {  
                        set $script     $1;  
                        set $path_info  $2;  
                    }  
      
            fastcgi_pass 127.0.0.1:9000;  
            fastcgi_index index.php?IF_REWRITE=1;  
            include fastcgi_params;  
            fastcgi_param PATH_INFO $path_info;  
            fastcgi_param SCRIPT_FILENAME $document_root/$script;  
            fastcgi_param SCRIPT_NAME $script;  
}  




        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }


        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }


        location ~ /.well-known {
            allow all;
        }


        location ~ /\.
        {
            deny all;
        }
        access_log  /home/wwwlogs/www.scp.cn.log;
    }

猜你喜欢

转载自blog.csdn.net/will5451/article/details/80420797