如:http://xxx.com/topic/index?id=1&type=1
转变为:http://xxx.com/topic/index/id/1/type/1
可以通过配置rules:
'
但是如果我传得参数不一样,比如再加一些参数,或者参数名非type和id,就无法匹配这个rule,难道要针对每一中参数都配置一个rule吗?
想通过正则把参数写为或的形式,但是没能成功,不知道这个正则的写法和规则是怎么样的,有没有官方文档说明啊?
ZanCms,国产外贸独立站自助建站系统(询盘 + 商城) ZanCms 是卓越的国产外贸独立站自助建站系统,集询盘与商城功能于一体。其内置先进的 AI 翻译,轻松打破语言壁垒,让全球客户畅享无障碍浏览。系统架构设计精妙,谷歌性能评分优异,PC 指标高达 90 +,确保快速流畅的访问体验。在搜索优化方面表现卓越,精心打造的 URL 与 TDK,极大提升网站的易收录性,助力在搜索引擎中脱颖而出。多语
0
还有一种方式是重载urlManager类中的方法,感觉稍微复杂了一点,还没尝试,请大家指点迷津,给个思路?谢谢了!
如:http://xxx.com/topic/index?id=1&type=1
转变为:http://xxx.com/topic/index/id/1/type/1
可以通过配置rules:
'
但是如果我传得参数不一样,比如再加一些参数,或者参数名非type和id,就无法匹配这个rule,难道要针对每一中参数都配置一个rule吗?
想通过正则把参数写为或的形式,但是没能成功,不知道这个正则的写法和规则是怎么样的,有没有官方文档说明啊?
还有一种方式是重载urlManager类中的方法,感觉稍微复杂了一点,还没尝试,请大家指点迷津,给个思路?谢谢了!
直接把 UrlManager中这个参数配置成true
<code> /**
* 路由的路径化
*
* @var bool
*/
public $enablePrettyUrl = true;
</code>
第一:在配置文件加上 urlManager项,看代码:
<code> 'urlManager'=>[
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules'=>[
'<controller:(post|comment)>/<id:\d+>/<action:(create|update|delete)>' =>'<controller>/<action>',
'<controller:(post|comment)>/<id:\d+>' => '<controller>/read',
'<controller:(post|comment)>s' => '<controller>/list',
],
],</code>第二,在index.php同级目录下新建.htaccess文件,把下面的代码贴上:
<code>Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php</code>原文地址:http://www.yiichina.com/tutorial/622
或者参考这个:http://www.cnblogs.com/dcb3688/p/4607968.html
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号