Php htaccess多查询字符串剥离
我正在尝试将带有查询字符串的旧url重写为新url。尝试了20多种不同的变体,但大多数都不起作用,或者给我内部服务器错误 原始URL: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
/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看起来它占用了额外的空间?