今天吧网站放到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;