htaccess多个查询字符串剥离

时间:2014-08-21 13:49:15

标签: php apache .htaccess mod-rewrite redirect

我正在尝试使用查询字符串将旧网址重写为新网址。尝试了20多种不同的变体,大多数不起作用或给我内部服务器错误

原始网址:

/got_forms/?List=keywordsearch&MyKeyWordSearch=Malcom

我需要将其重写为

/members/forms-publication-keyword/Malcom

我遇到的问题是无论我尝试?List=keywordsearch&MyKeyWordSearch通过什么。

我试图这样做的一些不同方式:

RewriteCond %{QUERY_STRING} ^List=([0-9]{4})&MyKeyWordSearch=([0-9]*)$
RewriteRule ^publ_forms\/?$ /members/forms-publication-keyword/%2? [L]

没用。

RewriteRule ^/got_forms.*MyKeyWordSearch=(.*) http://www.domain.com/members/forms-publication-keyword/$1

没用。

#RewriteRule ^/got_forms/$       /members/forms-publication-keyword/        [NC,L,R=301]
#RewriteCond %{QUERY_STRING}     ^MyKeyWordSearch=(.*)$    [NC]
#RewriteRule ^/got_forms/$      /members/forms-publication-keyword/%1      [NC,L,R=301]

任何想法我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On
RewriteBase /

RewriteCond %{QUERY_STRING} ^List=keywordsearch&MyKeyWordSearch=([^&]+) [NC]
RewriteRule ^got_forms/?$ members/forms-publication-keyword/%1? [L,NC,R=302,NE]