2

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

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

我没有使用 mod_rewrite 的历史,帮助!

4

3 回答 3

5

试试这个 :

重写规则 ^/signup-(\d+)/$ /signup/?aff=$1 [I]

于 2008-09-19T20:31:15.410 回答
2

我发现相对难以找到的是如何做与你正在做的相反的事情,即你需要找出部分查询字符串的值。

例如:

如果您想重写 Url: http : //www.example.com/signup-old-scriptASP ? =12345

至: http : //www.example.com/signup-new-scriptphp ? affID = 12345

你可以使用:

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

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

我必须这样做,以便我可以在一个新站点中支持旧的闪存映射,该站点具有指向“.cfm”文件的链接,该文件在查询字符串中具有 ID。

于 2008-09-21T13:23:04.203 回答
1

据我所知,

flag 导致 RewriteCond 被忽略。- 对于“忽略大小写” - 从IsapiRewrite版本 2

于 2011-03-02T16:40:33.337 回答