标签: CC

  • Amh 面板 Nginx php-fpm Thinkphp Rewrite

    Amh 面板 Nginx php-fpm Thinkphp Rewrite

    前面我们介绍了?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啦!

WeChat