从example.com?prodid=qwerty重写url到exmaple.com/abc.php?prodid=qwerty

时间:2015-04-23 07:20:26

标签: .htaccess mod-rewrite url-rewriting

我想从

重定向

http://www.example.com/PartnerLogin?authID=abcde79989#$@hk

http://www.example.com/PartnerLogin.php?authID=abcde79989#$@hk

RewriteEngine On

RewriteCond %{QUERY_STRING} ^PartnerLogin?authID=$ [NC]
RewriteRule ^PartnerLogin?authID=$ PartnerLogin.php?authID= [NC,L]

我在上面的.htaccess中写道,但它不起作用,我得到的结果是:

  

找不到请求的网址example.com/PartnerLogin。

1 个答案:

答案 0 :(得分:0)

  

RewriteCond %{QUERY_STRING} ^PartnerLogin?authID=$ [NC]
  RewriteRule ^PartnerLogin?authID=$ PartnerLogin.php?authID= [NC,L]

PartnerLogin不属于QUERY_STRINGauthID不属于RewriteRule模式匹配的网址路径。查询字符串也不会在$之后结束(authId=)。

请尝试以下内容:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^authID=
RewriteRule ^PartnerLogin$ PartnerLogin.php [L]

查询字符串(即authID=abcde79989)会自动复制到替换URL。我还删除了NC标记。除非您明确需要不区分大小写的匹配,否则这些不是必需的。