【发布时间】:2013-01-12 23:04:14
【问题描述】:
我有以下重写规则:
RewriteRule ^/events$ /pagebase.php?pbid=3627 [QSA,L,I]
RewriteRule ^/events-list$ /pagebase.php?pbid=3663 [QSA,L,I]
RewriteRule ^/bob2013$ /pagebase.php?pbid=3688 [QSA,L,I]
RewriteRule ^/contact-us$ /pagebase.php?pbid=3634 [QSA,L,I]
RewriteRule ^/detail$ /pagebase.php?pbid=3890 [QSA,L,I]
在我需要传入查询字符串之前效果很好。
所以如果我输入
http://www.domain.com/events 它完美地工作。
但是如果我输入
http://www.domain.com/events?type=1
然后重写失败,因为它不再匹配“事件”。
但是,如果我删除美元符号,那么它就可以正常工作。查询字符串类型正确传递。
像这样。
RewriteRule ^/events$ /pagebase.php?pbid=3627 [QSA,L,I]
但问题是,如果有人键入事件列表的 url。
http://www.domain.com/events-list
重写匹配“事件”页面显示该页面。
基本上,我需要知道如何解决这个问题。
【问题讨论】:
-
你测试过这个吗?因为 RewriteRule 只匹配路径(不包括查询字符串)
标签: apache .htaccess mod-rewrite url-rewriting iirf