再弄项目网站时候,有必要对网站的URL进行伪静态处理以及带html的后缀。这样看起来会比较舒服,同时对搜索引擎也比较友好。

但是在用thinkphp3.2.3时候发现正则路由规则有点问题,当成yii2来写了。

一直提示无法加载控制器:

thinkphp 3.2.3 URL路由伪静态生成遇到的问题生成带HTML后缀

 

最后找了很多资料后发现原来是后缀不能直接写在规则里面

大体这样写:

//启用路由功能

'URL_ROUTER_ON' => true,

//静态地址路由设置

'URL_MAP_RULES' => array(

'test' => 'Home/Home/index',

),

'URL_HTML_SUFFIX'=>'html',//URL后缀

//动态地址路由

'URL_ROUTE_RULES' => array(

'/^news\/detail-(\d+)$/' => 'Home/News/detail?id=:1',

 

)

这样我们在请求http://xxx.cn/test.html 就会对应Home/Home/index

动态地址http://xxx.cn/news/detail-1.html 对应 Home/News/detail?id=1

这个时候大功告成

程序员工具:https://www.toolnb.com/toolslist/14.html

相关文章: