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
rewriteengine onrewritecond %{request_filename} !-drewritecond %{request_filename} !-frewriterule ^(.*)$ index.php/$1 [qsa,pt,l]
这句话保存为.htaccess文件放到入口文件的同级目录下图示
4 重启apache即可
用字符代替分组 模块操作
1 设置在项目配置文件中开启url路由功能
将下面这句添加在项目配置文件中
'url_router_on'=>true, //开启url路由
2 就是对 分组 模块 操作的配置先把后台代码贴上
//进入发布新闻页面 public function release(){ dump(mode值:.$_get['mode']); dump(fun值.$_get['fun']); dump(idcard值.$_get['idcard']); dump(name值.$_get['name']); dump(id值.$_get['id']); }
项目配置文件中几个不同url规则第一个规则
'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, ),
访问方法和结果
掌握上面三条规则可以解决大多数项目中遇到问题