当前位置: 代码迷 >> PHP >> nginx环境thinkphp,500异常
  详细解决方案

nginx环境thinkphp,500异常

热度:480   发布时间:2016-04-28 18:48:45.0
nginx环境thinkphp,500错误
本帖最后由 u012335455 于 2014-07-22 19:16:10 编辑
今天吧网站放到nginx下centos环境,程序是thinkphp3.2的,首页能正常显示,内链所有都是500错误,贴出配置代码和错误日志,求解决方案!!


server {
    listen       80;
    server_name  此处网站域名;
    root   /usr/local/www/web/go;

    location / {
    root   /usr/local/www/web/go;
    index index.php index.html index.htm;
        if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php/$1 last;
        break;
    }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
 
       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ .php$ {
        root   /usr/local/www/web/go;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            #定义变量 $path_info ,用于存放pathinfo信息
                set $path_info "";
                #定义变量 $real_script_name,用于存放真实地址
                set $real_script_name $fastcgi_script_name;
                #如果地址与引号内的正则表达式匹配
                if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                        #将文件地址赋值给变量 $real_script_name
                        set $real_script_name $1;
                        #将文件地址后的参数赋值给变量 $path_info
                        set $path_info $2;
                }
                #配置fastcgi的一些参数
                fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
                fastcgi_param SCRIPT_NAME $real_script_name;
                fastcgi_param PATH_INFO $path_info;
                #fastcgi_param  SCRIPT_FILENAME  /usr/local/www/web/go$fastcgi_script_name;
                include        fastcgi_params;
        }
 
     }
      
}


nginx日志:

[[email protected]_161_64_centos nginx]# 29068#0: *41 rewrite or internal redirection cycle while processing "/index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php//index.php/home/user/register.html", client: 这里IP, server: 这里域名, request: "GET /index.php/home:Q


------解决方案--------------------
codeigniter在nginx下配置
应该也适用 thinkphp,你对比一下
server {
       listen  80;
       server_name     www.phpno.com;
       root /home/www/www_phpno_com/admin_wwwroot;
       access_log off;
       error_page 404  /404.html;
       location /404.html {
               root /home/www/www_phpno_com/admin_wwwroot;