如何在htaccess中重写规则

时间:2015-03-26 18:39:36

标签: .htaccess redirect iis isapi-rewrite

我有几十个链接,由于查询字符串中的参数而导致生成页面未找到错误:

http://www.domain.com/publication?id=test
http://www.domain.com/publication?id=test&tkn=25MMI7
http://www.domain.com/publication?id=VfgodzE4Akg&tkn=25GJK02&gid=VCsfkQENp4g:20150323:s

我希望能够将它们重定向到:

http://www.domain.com/publication/?id=test
http://www.domain.com/publication/?id=test&tkn=25MMI7
http://www.domain.com/publication/?id=VfgodzE4Akg&tkn=25GJK02&gid=VCsfkQENp4g:20150323:s

我可以访问.htaccess文件,但我没有使用语法的经验。

我该怎么做?

非常感谢。

更新

我最终使用了以下重写规则,在'?'之后查找任何内容签名:

RewriteRule /publication/?\?(.*) /publication/?$1 [NC,L]

到目前为止,它似乎正在按我的需要运作。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

对于上述网址,请尝试以下规则:

RewriteBase /
RewriteCond %{QUERY_STRING} (.+)
RewriteRule ^publication$ /publication/ [NC,R=301,L]