秀米云香港服务器

最近在将公司的一台的服务器从Apache迁移到Nginx的时候出了点问题,特做个笔记。问题出在上面的一个网站是基于ThinkPHP框架开发的,用默认的方法配置不行。在网上baidu之后发现这个问题很普遍,通用解决方法的配置如下:

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

序列号 CPU RAM HDD 带宽 售价(美元) 免费试用
香港服务器1 E5-2620 32G 1T HDD 50M/无限流量 $196.00 立即申请
香港服务器2 E5-2650 32G 1T HDD 50M/无限流量 $256.00 立即申请
香港服务器3 E5-2680 32G 1T HDD 50M/无限流量 $316.00 立即申请
香港服务器4 E5-2690 32G 1T HDD 50M/无限流量 $336.00 立即申请
香港服务器5 E5-2697 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器6 E5-2620*2 32G 1T HDD 50M/无限流量 $376.00 立即申请
香港服务器7 E5-2650*2 32G 1T HDD 50M/无限流量 $436.00 立即申请
香港服务器8 E5-2680*2 32G 1T HDD 50M/无限流量 $476.00 立即申请
香港服务器9 E5-2690*2 32G 1T HDD 50M/无限流量 $556.00 立即申请
香港服务器10 E5-2697*2 32G 1T HDD 50M/无限流量 $596.00 立即申请
香港服务器11 E5-2680v4*2 32G 1T HDD 50M/无限流量 $696.00 立即申请
香港服务器12 E5-2698v4*2 32G 1T HDD 50M/无限流量 $796.00 立即申请

}

location ~ .+.php($|/) {.... set $script $uri; set $path_info "/"; if ($uri ~ "^(.+.php)(/.*)") { set$script $1; set $path_info$2; } fastcgi_param PATH_INFO$path_info; fastcgi_param SCRIPT_FILENAME/path/to/web-root$script;

}

昨天在看书的时候突然发现,原来fastcgi模块自带了一个指令专门用来解决此类问题的,该指令是fastcgi_split_path_info,该指令会根据给定的正则表达式来分隔URL,从而提取出脚本名和pathinfo信息,使用这个指令可以避免使用if语句,配置更简单。(server部分的if语句可以用try_files来代替),新的配置如下:

server {... try_files $uri /index.php$uri;}

location ~ .+.php($|/) {.... fastcgi_split_path_info^(.+.php)(/.*)$; fastcgi_param PATH_INFO$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME/path/to/web-root$fastcgi_script_name;

}

标题:配置Nginx服务器支持ThinkPHP框架

地址: https://www.yunhk.xyz/26387.html