Thinkphp url路由配置
配置url建议使用配置的php开发环境,集成的没能成功
ThinkPHP 框架支持url路由。所谓url路由 含义跟网络中的路由相似。用户请求的url信息进行检查来确定到底调用哪个模块和操作。
通过配置url路由可以使网站名称更加短,也更容易记。
主要是有两种方法
1 隐藏index.php
2 将模块和操作用简单数字或者字母进行代替
首先隐藏index.php
隐藏index.php
1 找到apache配置文件将
LoadModule rewrite_module modules/mod_rewrite.so前面的#号去掉
2 寻找apache的配置文件中AllowOverride None这句话,将None改为 All 我的共有3处地方需要修改
3
<ifmodule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </ifmodule>
图示
4 重启Apache即可
用字符代替分组 模块操作
1 设置在项目配置文件中开启url路由功能
将下面这句添加在项目配置文件中
'URL_ROUTER_ON'=>true, //开启url路由
先把后台代码贴上
//进入发布新闻页面 public function release(){ dump("mode值:".$_GET['mode']); dump("fun值".$_GET['fun']); dump("idcard值".$_GET['idcard']); dump("name值".$_GET['name']); dump("id值".$_GET['id']); }
第一个规则
'URL_ROUTE_RULES'=>array( 'news/:mode/:fun'=>'Admin/News/release?idcard=334&name=buyingfei&id=3', //:mode :fun 代表变量 可以传递任何职给后台后台可以通过get接收 ),
上图片
可以看出规则 访问 结果之间关系
第二条规则
'URL_ROUTE_RULES'=>array( '34'=>array('Admin/News/release'), // http://localhost/test/index.php/34 ),
第三条规则:
'URL_ROUTE_RULES'=>array( "news/:id"=>"Admin/News/release", ),
掌握上面三条规则可以解决大多数项目中遇到问题