Amh 面板 Nginx php-fpm Thinkphp Rewrite

来源: 老季博客
日期: 2016-12-2
作者: 腾讯云/服务器VPS推荐评测/Vultr
阅读数: 53

前面我们介绍了?Nginx 下 ThinkPHP URL 的 PATHINFO 与 REWRITE 重写 配置方法,那么我们说一下在Amh面板中的使用方法

Thinkphp REWRITE模式 2:
该URL模式和PATHINFO模式功能一样,除了可以不需要在URL里面写入口文件,和可以定义.htaccess 文件外。在开启了Apache的URL_REWRITE模块后,就可以启用REWRITE模式了,具体参考下面的URL重写部分。四、兼容模式: 设置URL_MODEL 为3
兼容模式是普通模式和PATHINFO模式的结合,并且可以让应用在需要的时候直接切换到PATHINFO模式而不需要更改模板和程序,还可以和URL_WRITE模式整合。兼容模式URL可以支持任何的运行环境。
兼容模式的效果是:
http://serverName/appName/?s=/module/action/id/1/
并且也可以支持参数分割符号的定义,例如在URL_PATHINFO_DEPR为~的情况下,下面的URL有效:
http://serverName/appName/?s=module~action~id~1

ThinkPHP提供的Nginx环境配置情况
在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

location / { // …..省略部分代码
    if (!-e $request_filename) {
        rewrite ^(.*)$ /index.php?s=$1 last;
        break;
    }
}

其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。

AMH面板中的操作流程:
1、在/usr/local/nginx/conf/rewrite下面新建一个规则文件thinkphp.conf

2、将内容修改为如下:

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

3、在面板编辑主机选择Rewrite规则:thinkphp.conf 就OK啦!

链接到文章: https://jiloc.com/43065.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注