如何使用mod_rewrite更改URL的路径和文件名

时间:2020-03-06 14:27:42  来源:igfitidea点击:

我想获取网址:
http://www.mydomain.com/signup-12345

并实际给他们:
http://www.mydomain.com/signup/?aff=12345

我没有有关mod_rewrite的历史记录,帮助!

解决方案

试试这个 :

RewriteRule ^ / signup-(\ d +)/ $ / signup /?aff = $ 1 [I]

我发现相对难以发现的是如何执行与我们正在执行的相反的操作,即我们需要找出查询字符串的一部分的值。

因此,例如:

如果我们想重写网址:
http://www.example.com/signup-old-script.asp?aff=12345

到:
http://www.example.com/signup-new-script.php?affID=12345

我们可以使用:

RewriteCond %{query_string}& ^aff=((.+&)|&)$   
RewriteRule ^/signup-old-script.asp$    /signup-new-script.php?affID=%2 [L,R]

请注意,重写规则中的%符号而不是$符号。

我必须这样做,以便可以在新站点中支持旧的Flash映射,该站点中包含指向查询字符串中带有ID的" .cfm"文件的链接。