Nginx配置支持ThinkPHP的PATH_INFO
概述
今天遇到一个问题,Ubuntu+Nginx+MySQL配置ThinkPHP的项目,做了一半发现,Nginx不支持ThinkPHP的PATH_INFO模式,百度了好久,在朋友的帮忙下才解决,记录下。
Nginx支持ThinkPHP的PATH_INFO
环境
Ubuntu 14.04+Nginx+MySQL。所有程序都是通过apt-get安装的,所以Nginx的配置文件路径在/etc/nginx/sites-available/default。
解决方法
定位到Nginx配置文件的如下部分:
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
加入下面的代码:
if (!-e $request_filename)
{
rewrite ^/myapp/(.*)$ /myapp/index.php?s=$1 last;
break;
}
正则的写法
解决这个问题的时候,看到了好几种解决方案,光正则就看到了好几个,也不知道到底哪个是最标准的,本人正则也不是很熟,先记录下来,以后慢慢研究:
正则1:
rewrite ^/MYAPP/(.*)$ /MYAPP/index.php/$1 last;
正则2:
rewrite ^(.*)$ /index.php?s=$1 last;
相关文章
Nginx出现“Too many open files”问题的解决方法
在进行压力测试时,自建CDN节点的Nginx可能会出现“Too many open files”错误,这通常意味着Nginx尝试打开的文件数量超出了系统的限制,本文将详细介绍如何识别和解决这一问题,确保Nginx在负载较高时仍能正常运行,需要的朋友可以参考下2024-10-10nginx 添加http_stub_status_module模块
本文主要介绍了nginx 添加http_stub_status_module模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-05-05阿里云部署Ubuntu 1.4 Flask + WSGI + Nginx 详解
本文解决的是 Flask 最后一公里的问题:Linux 部署,需要的朋友可以参考下2017-12-12
最新评论