AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] ThinkPHP Rewrite方法 【总结贴】 |
|
---|---|
geeklee |
geeklee 发表于 2013-12-29 11:15:19
本帖最后由 geeklee 于 2013-12-29 11:17 编辑
很多朋友们在找ThinPHP的Rewrite方法,本帖来个终结吧! 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啦!
点赞,加油! (1分)
2013-12-29 11:15:19 1
|
com |
来学习学习
回复
2013-12-29 11:55:17 2
|
baitongda |
来。。。一起动起来!@
回复
2016-05-06 09:14:06 3
|
baitongda |
无效啊。还是会加载不到一些文件!
回复
2016-08-23 11:55:40 4
|
dudusee |
Apache模式呢
回复
2019-09-03 14:15:59 5
|