从.htaccess重定向的URL中提取多个(可能是无限制的)参数

时间:2011-11-25 10:21:25

标签: regex .htaccess mod-rewrite

我正在编写一个mod_rewrite重定向,它基本上从旧的URL格式中获取所有不同的参数,并将它们作为一个参数连接到新的url。

例如:

旧网址:/rss.php/searchtype/basic/yearfrom/PARAM1/colour/PARAM2/yearto/PARAM3/ ..依此类推。

新网址:/search/keywords/PARAM1+PARAM2+PARAM3

所以基本上我需要能够匹配字符串的开头,但在那次匹配之后,任何argueent的VALUE都会传递,然后将它们附加到新URL的末尾,并在它们之间留一个空格。

2 个答案:

答案 0 :(得分:0)

你想提取参数,没问题。

但是一旦它们被提取出来,问题就是你想要连接它们而不用yearfrom(依此类推)...

我不认为这是可能的,而且我非常肯定不可能的是,你想要替换字符(用 {{替换 / ) 1}} )。

这是一个答案,即使它可能让你失望(抱歉)。

答案 1 :(得分:0)

您可以将RewriteMap与外部程序一起使用来执行此操作。请参阅Apache Docs和此RewriteMap example from Rick Bowen