Php htaccess多查询字符串剥离

Php htaccess多查询字符串剥离,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我正在尝试将带有查询字符串的旧url重写为新url。尝试了20多种不同的变体,但大多数都不起作用,或者给我内部服务器错误 原始URL: /got\u forms/?List=keywordsearch&MyKeyWordSearch=Malcom 我需要把这个重写成 /members/forms publication关键字/Malcom 我遇到的问题是,无论我尝试什么?List=keywordsearch&MyKeyWordSearch都会成功 我尝试了几种不同的方法: RewriteCond

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

原始URL:

/got\u forms/?List=keywordsearch&MyKeyWordSearch=Malcom

我需要把这个重写成

/members/forms publication关键字/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]
不起作用

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]

你知道我做错了什么吗?

你可以在你的
文档\u 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]

不这样做,否则我完全无法理解。一旦我把它放进去,我就尝试访问:www.domain.com/get_forms/?List=keywordsearch&MyKeyWordSearch=Malcom,它返回的是www.domain.com/get_forms?List=keywordsearch&MyKeyWordSearch=Malcom,页面未找到。因此,它唯一的删除/之后的表单我希望它会返回www.domain.com/members/forms-publication-keyword/MalcomIt,除非它不是一个单词。如果我使用Malcom,它会工作,但是当its=Malcom Wallace时,它会返回一个额外的字符。Malcom%2520 Wallace看起来它占用了额外的空间?