ThinkPHP中nginx配置有哪些坑

  介绍

这篇文章主要介绍了ThinkPHP中nginx配置有哪些坑,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

<强> ThinkPHP的nginx配置踩坑

今天在用一个以tp为基础的快速开发框架时遇到一些问题:

nginx报错截图

 ThinkPHP中nginx配置有哪些坑

为了方便说明进行手动换行

//,处理时重写或内部重定向循环   2019/11/11  11:16:06 (错误),15164 # 15432:,* 1,rewrite 或是internal  redirection  cycle  while  processing    ,,,,/index . php/index . php/index . php/index . php/index . php/index . php/index . php/index . php/索引/user/index.html",,   ,,,客户:,127.0.0.1,,   ,,,服务器:,xxxxx,,   ,,,要求:,“GET //user/index.html 指数;HTTP/1.1“,,   ,,,主持人:,“xxxxx",,   ,,,介绍人:,“xxxxx" <人力资源/>

<强>错误配置

参考larvael配置

server  {   ,,,。   ,,,。   ,,,。   ,,,的位置/,{   ,,,,,,,try_files  uri 美元;$ uri/,/index . php ? query_string美元;   ,,,}   ,,,。   ,,,。   ,,,。   ,,,的位置~,\美元。php, {   ,,,,,,,fastcgi_pass127.0.0.1:9000;   ,,,,,,,fastcgi_index  index . php。   ,,,,,,,fastcgi_param  SCRIPT_FILENAME  realpath_root fastcgi_script_name美元;   ,,,,,,,include  fastcgi_params;   ,,,}   ,,,。   ,,,。   ,,,。   }

发现所有路径都一样,都是首页效果

初步判断nginx重写规则有问题

#,路径,/,开头之后都走这个匹配   #,如,/index /索引/user    位置/,{   ,,,#,uri 美元;本地有就返回,或者uri/美元,本地有目录就返回,或者走后面的重写   ,,,#,本地是指在网站根目录下,如,当,uri=index 美元就是看根目录下面有,index 文件或者,索引/,目录   ,,,try_files  uri 美元;$ uri/,/index . php ? query_string美元;   }

开始报错

<人力资源/>

<强>解决问题

网上查询后tp5的配置应为

,,,,的位置/,{   ,,,,,,,try_files  uri 美元;$ uri/,/index . php uri美元;   ,,,}

改后,发现问题没解决;对比配置发现

,,#,位置~,\美元。php,改成,,的位置~,美元\。php (. *)   ,,,的位置~,美元\。php (. *), {   ,,,,,,,,,,fastcgi_pass  127.0.0.1:9000;   ,,,,,,,fastcgi_index  index . php。   ,,,,,,,fastcgi_split_path_info , ^ (U (?)。+ \。php)美元(/?。+);   ,,,,,,,fastcgi_param , SCRIPT_FILENAME , document_root fastcgi_script_name美元;   ,,,,,,,fastcgi_param , PATH_INFO , fastcgi_path_info美元;   ,,,,,,,fastcgi_param , PATH_TRANSLATED , document_root fastcgi_path_info美元;   ,,,,,,,include  fastcgi_params;   ,,,}

解决,完整配置

server  {   ,,,listen ,,,,,, 80;   ,,,server_name , xxxxxxx ;   ,,,root , www。   ,,,add_header  X-Frame-Options “SAMEORIGIN";   ,,,add_header  X-XSS-Protection “1;,模式=block";   ,,,add_header  X-Content-Type-Options “nosniff";   ,,,charset  utf - 8;   ,,,index  index.html  index.htm  index . php。   ,,,的位置/,{   ,,,,,,,try_files  uri 美元;$ uri/,/index . php uri美元;   ,,,}   ,,,的位置=,/favicon.ico  {, access_log ;, log_not_found ,,}   ,,,的位置=,/robots.txt , {, access_log ;, log_not_found ,,}   ,,,error_page  404年,/index . php;   ,,,的位置~,美元\。php (. *), {   ,,,,,,,,,,fastcgi_pass  127.0.0.1:9000;   null   null   null   null   null   null   null   null   null   null   null

ThinkPHP中nginx配置有哪些坑