首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

大家帮小弟我看看这个正则错在哪了?

2012-04-17 
大家帮我看看这个正则错在哪了??大家帮我看看这个正则错在哪了??伪静态规则:RewriteRule ^/so\?k(\d+)&wd

大家帮我看看这个正则错在哪了??
大家帮我看看这个正则错在哪了??

伪静态规则:
RewriteRule ^/so\?k=(\d+)&wd=(.*)&xj=(\d+)&pn=(\d+)$ /sea\.asp\?kid=$1&kw=$2&picxj=$3&page=$4

http://127.0.0.1/sea.asp?kid=5&kw=%D6%B2%CE%EF&picxj=&page=2

转换成

http://127.0.0.1/so?k=5&wd=%D6%B2%CE%EF&xj=&pn=2

后边的xj和pn参数不起作用?更改参数的值无反应。为什么啊?这个是一个搜索的页面。

[解决办法]
^/so\?k=(\d+)&wd=(.*?)&xj=(\d+)&pn=(\d+)$
从前向后匹配
[解决办法]
RewriteRule ^/so\?k=(\d*?)&wd=(.*?)&xj=(\d*?)&pn=(\d*?)$ /sea\.asp\?kid=$1&kw=$2&picxj=$3&page=$4

考虑参数为空的情况
[解决办法]
/so\?k=(\d+)?&wd=(.*)?&xj=(\d+)?&pn=(\d+)? /sea\.asp\?kid=$1&kw=$2&picxj=$3&page=$4
试试这个, 参数可为空, 但不能不存在, 注意缓存问题.
[解决办法]
要放在前面就少用.*否则会匹配所有的了
一般关键字不都只有哪些?不就中文,字母一类的么
至于后面那个位置不一定与前面那个一致
只要$1取对位置就可以了
[解决办法]
正则表达式我看到就怕!!

热点排行