2013-12-15 94 views
2

我正在寻找一个模式的URL重写重定向URL网址与htaccess的重写后的问号

test/14/optional-string-not-important?edit=ok 

后做正确的重定向应努力

test.php?id=14&edit=ok 

重定向后... URL重写, 我做了如下规则:在

RewriteRule ^test/([0-9]+)(/([a-z0-9,\.-]*))?(\?(.*))?$ test.php?id=$1&$5 

但问号(\(? *))不想逃跑我不知道为什么... 任何想法? 在此先感谢!

回答

2

你不能匹配QUERY_STRINGRewriteRule。既然你只是试图保留现有的查询字符串,你可以使用QSA标志。 QSA(查询字符串追加)标志保留现有的查询参数,同时添加一个新的。

试试这个规则来代替:

RewriteRule ^test/([0-9]+)(/|$) test.php?id=$1 [L,NC,QSA] 
+0

的感谢!我已经修改为RewriteRule^test /([0-9] +)(/(。+))?$ /test.php?id=$1 [L,NC,QSA]测试/ 14不会发送给我找不到页面...并且它做了诡计! – Snipchain

+0

做了一个小的编辑,以便在'/ test/14'之后创建文本作为可选项。请检查。 – anubhava

+0

不错!按原样工作!再次感谢! – Snipchain