我正在寻找一种模式,可以在重写网址后进行正确的重定向
test/14/optional-string-not-important?edit=ok
应该重定向到
test.php?id=14&edit=ok
...在网址重写后, 我制定了一条规则:
RewriteRule ^test/([0-9]+)(/([a-z0-9,\.-]*))?(\?(.*))?$ test.php?id=$1&$5
但是(\?(。*))中的问号不想逃避我不知道为什么...... 任何的想法? 提前谢谢!
答案 0 :(得分:2)
您无法与QUERY_STRING
中的RewriteRule
匹配。由于您只是尝试保留现有的查询字符串,因此您只需使用QSA
标志即可。 QSA
(查询字符串追加)标志在添加新查询参数时保留现有查询参数。
请尝试使用此规则:
RewriteRule ^test/([0-9]+)(/|$) test.php?id=$1 [L,NC,QSA]