附属链接的 .htaccess 重写规则
.htaccess rewrite rule for affiliate links
我有很多 link 这种类型:
https://example.com/?redirectTo=G04BIQ8LGG&redirect_prodid=xyz-G04BIQ8LGG
我需要重定向到亚马逊会员 link:
https://www.amazon.com/dp/G04BIQ8LGG?tag=mytag-21&linkCode=ogi&th=1&psc=1
从旧 url 中提取的唯一部分是产品代码(例如 G04BIQ8LGG)
有人可以帮我处理 .htaccess 规则和正则表达式吗?
谢谢!
unfortunately no, I'm not very good with regex.
正则表达式与 linked question 中的非常相似。但是,在这种情况下,所需的 mod_rewrite 指令本身要简单得多。
例如:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^redirectTo=([^&]+)
RewriteRule ^$ https://www.amazon.com/dp/%1?tag=mytag-21&linkCode=ogi&th=1&psc=1 [NE,R=302,L]
我已将 redirectTo
URL 参数锚定到查询字符串的开头,因为它在您的示例中就是这样显示的。在 链接问题 中,URL 参数可以出现在查询字符串中的任何位置,因为这似乎是该问题的要求。
由于URL参数值用于重定向URL的URL路径中,因此需要NE
(noescape
)标志以防止 %-encoded URL 参数值在结果重定向中被双重编码。 (虽然如果这个 URL 参数值从未被 %-encoded 这不是问题 - 它看起来不一定是这样。)
我有很多 link 这种类型:
https://example.com/?redirectTo=G04BIQ8LGG&redirect_prodid=xyz-G04BIQ8LGG
我需要重定向到亚马逊会员 link:
https://www.amazon.com/dp/G04BIQ8LGG?tag=mytag-21&linkCode=ogi&th=1&psc=1
从旧 url 中提取的唯一部分是产品代码(例如 G04BIQ8LGG)
有人可以帮我处理 .htaccess 规则和正则表达式吗?
谢谢!
unfortunately no, I'm not very good with regex.
正则表达式与 linked question 中的非常相似。但是,在这种情况下,所需的 mod_rewrite 指令本身要简单得多。
例如:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^redirectTo=([^&]+)
RewriteRule ^$ https://www.amazon.com/dp/%1?tag=mytag-21&linkCode=ogi&th=1&psc=1 [NE,R=302,L]
我已将 redirectTo
URL 参数锚定到查询字符串的开头,因为它在您的示例中就是这样显示的。在 链接问题 中,URL 参数可以出现在查询字符串中的任何位置,因为这似乎是该问题的要求。
由于URL参数值用于重定向URL的URL路径中,因此需要NE
(noescape
)标志以防止 %-encoded URL 参数值在结果重定向中被双重编码。 (虽然如果这个 URL 参数值从未被 %-encoded 这不是问题 - 它看起来不一定是这样。)