-
七 25
-
今天碰到了一个Apache的重写url的问题,需求是这样的,把
/abc/hello.html?page=2
rewrite成
/search.php?key=hello&page=2
我自己尝试写规则如下
^abc/(.+)\.html\?page=([0-9]+)$ /search.php/?key=$1&page=$2
这个规则怎么尝试都无法成功,就是不能匹配上那个问号.
实在搞不定只好利用网络请教高手了,记录过程如下
1.先到我加的几个qq群里问,自认为这种方式较快,因为这些qq群在线都是好几十人,随便碰到个会的就帮我搞定了.结果让我很失望,发了4个qq群,只有一个群里得到了答复,而且答案跟我的写法一样.
2.到百度知道提问,一个小时后得到一个答复跟我自己写的一样,仍然没搞定.
3.到国内一个很大的论坛发贴求助,只有一个人答复 "你悬偿点分嘛..重赏之下,必有勇夫",我以为帮助别人即使没有所谓的"分"也很快乐.
4.转战国外论坛,在webmasterworld以interrogation rewrite 为关键字搜索到了www.webmasterworld.com/apache/3375528.htm,虽然没有找到我要的答案,但是知道了apache的rewrite有个叫query_string的东西
5.在百度以关键词query string rewrite搜索到了我想要的结果http://stauren.net/log/4b8atjdnw.html 说白了就是一个参数的问题那就是[L,QSA]
摘抄一段那位网友的文章
-
<IfModule mod_rewrite.c>
-
RewriteEngine on
-
# Rewrite current-style URLs of the form 'index.php?q=x'.
-
RewriteCond %{REQUEST_FILENAME} !-f
-
RewriteCond %{REQUEST_FILENAME} !-d
-
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
-
</IfModule>
第1行: 如果服务器加载了rewrite模块,则执行如下规则
第2行: 打开改写引擎,不用动,加上就好。
第3行: 注释
第4行: RewriteCond 表示这是应用改写规则的条件,%{REQUEST_FILENAME}表示对请求的文件完整url进行判断,-f是表示这是普通文件,!表示非。这句的意思就是,如果请求的不是普通文件,则对url进行改写。
第5行: 基本同第4行,-d的意思是文件夹
第 6行:RewriteRule 表示这是改写规则,^(.*)$是一个正则,表示整个请求的url(在RewriteBase 之后的),index.php?q=$1是改写的样式。这里可能需要对正则熟一点才能看懂了。最后的[L,QSA]是flag,标志。L表示是last,针对这个url的最后一次改写,不再应用其他rule,QSA表示query string append,将查询字串加入原有查询字串之后。
一点感慨,国内的论坛交流分享的氛围远远不及国外的论坛,看看webmasterworld的回帖基本上就是一篇文章.
想到了一个小笑话:
一日早朝,王安石出列:“臣有奏,OOXX(以下省略1万字)。”刚说完身后跪下一片叫到:“臣沙发”“臣板凳”“臣地板”“臣顶”“臣也顶”……最后几人面带笑容不语,神宗见状怒击龙椅:“不许纯表情回帖。”
-
1 楼 jean
Post: 2009-09-01 11:20 下午
今天遇到同样的问题了。来交流下。
要把http://www.xxx.com/Lottery06/SSQ7LC/index.php?LotteryType=SSQ 变成
http://www.xxx.com/Lottery06/SSQ7LC/
下面是我的写法,
RewriteCond %{REQUEST_URI} ^/Lottery06/SSQ7LC/(.*)$ [NC]
RewriteCond %{QUERY_STRING} ^(LotteryType=SSQ)$ [NC]
RewriteRule ^(.*)$ http://www.okooo.com/Lottery06/SSQ7LC/ [R=301,L,QSA]
不过没有成功,比较郁闷
2 楼 老余
Post: 2009-09-02 9:50 上午
@jean:
Lottery06/SSQ7LC/这个路径本身是存在的啊,访问它就是访问http://www.xxx.com/Lottery06/SSQ7LC/index.php了吧,那后面的参数就没有用了
3 楼 jean
Post: 2009-09-02 10:43 上午
对,虽然没用但是仍然不想让它显示,seo有需求。
4 楼 老余
Post: 2009-09-02 10:48 上午
@jean
好办,不需要rewrite,在index.php里把LotteryType设定一个值
然后页面上直接写成http://www.xxx.com/Lottery06/SSQ7LC/就可以了
5 楼 jean
Post: 2009-09-02 11:23 上午
改代码不现实,研发要走一堆流程,我再研究下rewrite
6 楼 alaodia
Post: 2009-11-10 1:44 上午
Good morning! buy nolvadex without prescription http://www.stumbleupon.com/stumbler/med-brother/ buy nolvadex on the net I’m sorry to see you go.
Good morning! buy liquid nolvadex buy online nolvadex
buy nolvadex on the net Come back soon.
7 楼 收购氯化银
Post: 2009-11-13 8:26 下午
可以交换链接吗?本站是回收银浆,收购银废料及回收黄金白银的,目前PR为3,如有意,可以做上后到我站留言,第一时间马上帮您做好!谢谢。
8 楼 DNF1100
Post: 2009-11-14 7:32 上午
贵博客写的不错,www.11694.cn 来访,有时间回访哦。
9 楼 联系Q867400
Post: 2009-11-17 11:16 上午
骨头博客营销助手,快速让搜索引擎收录,快速提高网站访问量.
10 楼 QQ农场外挂
Post: 2009-11-18 7:56 下午
已经达到忘我的境界了,呵呵
11 楼 joyceannei
Post: 2009-12-26 7:00 下午
app forward extinction mitigating signed projections extinction recent depends [url=http://www.primepointmedia.com]panel ratified regions circulation european[/url] http://www.arbitron.com
12 楼 优酷网看电影
Post: 2010-01-13 5:09 下午
博主的才华相当的GOOD
13 楼 阿迪达斯鞋
Post: 2010-01-16 6:17 下午
留个脚印
14 楼 武汉论坛
Post: 2010-01-16 6:46 下午
好热闹
15 楼 淘宝好店
Post: 2010-01-20 12:12 下午
可以交换链接吗?本站是淘宝站的,目前PR为3,如有意,可以做上后到我站留言,第一时间马上帮您做好!谢谢
16 楼 攻略秘籍
Post: 2010-01-20 12:57 下午
留个脚印,新年快乐.
17 楼 炒股软件
Post: 2010-01-20 5:53 下午
模板很漂亮啊!
18 楼 bt核工厂
Post: 2010-01-26 3:17 下午
看到喜欢的了— 谢谢 –~
19 楼 淘宝网网上购物女裤
Post: 2010-01-27 11:44 上午
马上就要过年了。支持一下啊
20 楼 淘宝购物返现
Post: 2010-01-27 7:22 下午
页面干净,网站整洁!淘宝购物返现站长前来支持!祝博主人气高高!