nginx只能访问首页同时无法取得get和post参数(thinkphp环境中)

[nginx] 2024-04-19 圈点908

摘要:在使用thinkphp和nginx时,发现nginx只能访问首页,无论网站后边的参数怎么变,都是访问首页,测试发现原来无法取得get和post参数;是nginx的配置问题。

nginx只能访问首页同时无法取得get和post参数(thinkphp环境中)

在使用thinkphp和nginx时,发现nginx只能访问首页,无论网站后边的参数怎么变,都是访问首页,测试发现原来无法取得get和post参数;是nginx的配置问题。

修改nginx的相对应的配置文件中的location参数。

示例1方法的解释:

需要先加载 fastcgi.conf;然后设置变量进行分解。

示例2方法的解释:

#设置PATH_INFO,注意fastcgi_split_path_info已经自动改写了fastcgi_script_name变量,  

        #后面不需要再改写SCRIPT_FILENAME,SCRIPT_NAME环境变量,所以必须在加载fastcgi.conf之前设置  

        fastcgi_split_path_info  ^(.+\.php)(/.*)$;  

        fastcgi_param  PATH_INFO $fastcgi_path_info;

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

        include        fastcgi.conf;  

示例1:

location ~ \.php/?.*$ {  

        root        /var/www/html/website;  

        fastcgi_pass   127.0.0.1:9000;  

        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;  

    }  

示例2:

    location / {  

        index  index.htm index.html index.php;  

        #如果文件不存在则尝试TP解析  

        try_files  $uri  /index.php$uri;  

    }  

    location ~ .+\.php($|/) {  

        root        /var/www/html/website;  

        fastcgi_pass   127.0.0.1:9000;  

        fastcgi_index  index.php;  

          

        #设置PATH_INFO,注意fastcgi_split_path_info已经自动改写了fastcgi_script_name变量,  

        #后面不需要再改写SCRIPT_FILENAME,SCRIPT_NAME环境变量,所以必须在加载fastcgi.conf之前设置  

        fastcgi_split_path_info  ^(.+\.php)(/.*)$;  

        fastcgi_param  PATH_INFO $fastcgi_path_info;  

          

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

        include        fastcgi.conf;  

    }  

nginx  只能访问首页  

感谢反馈,已提交成功,审核后即会显示