新浦京81707con > 首页 > nginx配置thinkphp重写的方法总结,500错误或404错误

原标题:nginx配置thinkphp重写的方法总结,500错误或404错误

浏览次数:196 时间:2019-10-04

nginx是二个高性能并发的服务器软件,配置方面要稍微比apache复杂一丢丢。
本地安顿成功的七个thinkphp框架,铺排到服务器的时候,刚起先致的原因为权限难点抛出404指鹿为马,然后chown之后,抛出了500的失实,不过首页能够访问。
复查,应该是伪静态rewrite出现难题了,找了累累文献,技术方案如下:

重假如nginx配置文件的配置格局,修改配置文件如下:

下载nginx这么火,你是否也利用LNMP架构。那么在nginx下什么布置,工夫支撑thinkphp的pathinfo路由格局呢,以下就是计划的榜样,把域名和路径改成温馨其实的景观就好了。

应该将

[代码]bash代码:
server {
        listen  80;
        server_name  www.php2.cc;#此间是站点url
 root   /home/www/php2;#这里是站点根目录

安排如下:

location ~ .*.(php|php5)?$
{
#fastcgi_pass  unix:/tmp/php-cgi.sock;
fastcgi_pass  127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}

        location / { 
        index  index.htm index.html index.php admin.php; 

server {
    listen       80;
    server_name  www.111cn.net;
    root         /www/daixiaorui;

更改为:

 rewrite  ^/Public/Min/(.*)$  /Public/Min/index.php/$1  last;
 rewrite ^([a-z]=.*) /Public/Min/index.php?$1 last; 
        #做客路线的公文不设有则重写U君越L转交给ThinkPHP处理 
        if (!-e $request_filename) { 
           rewrite  ^/(.*)$  /index.php/$1  last;
           break; 
        } 
    } 
    location ~ .php/?.*$ { 
        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; 
    } 
}

    location / {
        index  index.htm index.html index.php;
        #假设文件官样文章则尝试TP剖析
        try_files  $uri  /index.php$uri;
    }

location ~ .php
{
fastcgi_pass   127.0.0.1:9000;
fastcgi_index index.php;
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 /mnt/khdb1/wwwroot$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include  /alidata/server/nginx/conf/fastcgi_params;
}

    location ~ . .php($|/) {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;

焚林而猎方案的笔触:是由于在布署站点的时候,conf文件应当将总体对服务器的恳求改变路径,即从“ location ~ .php” 这么些开首的大括号内的,暗中认可的nginxlocation行头location ~ .*.(php|php5)?$也要改。包蕴率先行的location都要修改为最下面。就足以化解抛出的500服务器错误“thinkphp 500荒唐”

        #设置PATH_INFO,注意fastcgi_split_path_info已经自动改写了fastcgi_script_name变量,
        #末端不须要再改写SC冠道IPT_FILENAME,SCRIPT_NAME意况变量,所以必得在加载fastcgi.conf以前设置
        fastcgi_split_path_info  ^(. .php)(/.*)$;
        fastcgi_param  PATH_INFO $fastcgi_path_info;
        #加载Nginx默许"服务器意况变量"配置
        include        fastcgi.conf;
    }
}

nginx下运作出错404荒唐-找不到文件消除办法

配备完成后回忆重启nginx服务啊。

缓和方式一:修改ThinkPHP设置,不利用PATH_INFO

下边介绍怎么样使Nginx扶助ThinkPHP的Pathinfo和U奥迪Q7L Rewrite形式。

消除措施二(推荐):修改nginx设置,帮忙PATH_INFO

1、ThinkPHP给出了ThinkPHP的合法施工方案,如下:

本文由新浦京81707con发布于首页,转载请注明出处:nginx配置thinkphp重写的方法总结,500错误或404错误

关键词: 新浦京81707con

上一篇:家谱树

下一篇:没有了