Nginx配置支持ThinkPHP的PATH_INFO

Miki ·
更新时间:2024-11-13
· 801 次阅读

概述

今天遇到一个问题,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配置文件的如下部分:
代码如下:location / {
                # 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中配置pathinfo模式支持thinkphp的URL重写Nginx下支持Thinkphp URL Rewrite的配置示例Ubuntu下Nginx配置ThinkPHP的Pathinfo和URl Rewrite模式Nginx配置PATHINFO隐藏thinkphp index.phpNginx下配置pathinfo及ThinkPHP的URL Rewrite模式支持nginx下配置thinkphp文件的方法Nginx下ThinkPHP5的配置方法详解



ThinkPHP path nginx配置 info Nginx

需要 登录 后方可回复, 如果你还没有账号请 注册新账号