2015-02-06 67 views
0

我需要重定向基于查询字符串的网址,并需要删除重定向上的查询字符串。htaccess删除查询字符串,然后重定向

源URL:http://www.example.com/?id=15&L=1&link=androidapp

目标URL:http://www.example.com/test.php&id=15&L=1

'?ID =' 是一个动态参数。它每次都会改变。

我写了下面的条件。它重定向,但我没有得到所需的目标网址。

RewriteCond %{QUERY_STRING} link=androidapp 
RewriteRule ^(.*)$ http://www.example.com/test.php? [R=301,L] 

请帮帮我。

+0

使用后我可以重定向。但是我没有得到上面所需的目标网址。请帮我找到一个解决方案。 – 2015-02-06 12:16:50

+0

它只是和总是为'id = nnn&L = nnn'? – Croises 2015-02-06 12:18:31

+0

对不起。但查询字符串也存在。我需要去掉查询字符串,并且需要这样的目标网址:http://www.example.com/test.php&id=15&L=1(仅限ID和L参数)。 – 2015-02-06 12:21:19

回答

1

你可以使用这个的.htaccess:

RewriteCond %{QUERY_STRING} id=(\d+)&L=(\d+)&link=androidapp [NC] 
RewriteRule^test.php?id=%1&L=%2 [R=301,L] 
+0

谢谢。还有一个疑问是,“id”是附加“?”只要?我的意思是“test.php?id”。我们可以将此限制为“test.php&id”吗? – 2015-02-06 12:30:41

+0

不客气。不,你不能改变这一点。第一个(在.php或.htm之后),在查询字符串之前是'?',在元素之间是'&'。 – Croises 2015-02-06 12:32:47

+1

非常感谢! – 2015-02-07 04:51:41

相关问题