|
把网站老的程序用CI重写了一遍,因为CI的地址习惯很符合我的胃口,所以就用book/id/311这样的地址来显示我的商品信息。
但是,之前很多人微博推广或者是引用的时候,都是用类似于book.php?id=311这样的格式,我该怎么办呢。
直接Apache的rewrite可以搞定,但是直接写RewriteRule 发现$1无法把参数值311带过去,经过互联网搜索终于找到了方法。以下是具体配置
- RewriteEngine On
- RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
- RewriteRule /book.php /book/id/%1 [PT]
复制代码
上面配置的要点有三个
1、要用RewriteCond 你可以把它理解为PHP的if语句
2、要知道QUERY_STRING是啥,在普通地址里面 ?后面那一串都是,例如book.php?id=311的QUERY_STRING结果就是 id=311
3、在RewriteRule里面,要引用我们的参数值311,就要用 %1 注意不是 $1。
做到以前三点,目的就达到了。
|
|