A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© @夜色 中级黑马   /  2018-1-24 19:43  /  2011 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一位同学的公司用的框架是thinkphp3.2.3的给了一个需求:把tp传统的URL由 http://域名/home/newss/news/id/1.html
改为利于seo的http://域名/home/newss-news1.html


不知道怎么写重写规则,但我觉得这样的URL做seo优化不怎么好,于是我把URL写成如下方式
http://域名/news-1.html   它对应tp原来的url为  http://域名/home/newss/news/id/1.html


重写规则如下:
RewriteRule ^news-(\d+)\.html$ index\.php?s=/Home/newss/news/id/$1 [QSA,L]

完美解决了功能需求,比原先给的需求更利于seo优化。
为什么要加个 ”?s “,在tp的convention.php中可以看到以下代码:
// 兼容模式PATHINFO获取变量例如 ?s=/module/action/id/1 后面的参数取决于URL_PATHINFO_DEPR
'VAR_PATHINFO'          =>  's',   






0 个回复

您需要登录后才可以回帖 登录 | 加入黑马