0

几天前,我在教程、手册、论坛中寻求解决方案……仍然找不到解决方案。

我有以下网址:

www.example.com/?unsubscribe=31234242424

我需要重定向到:

www.example.com/newsletter/?unsubscribe=31234242424

只有那个变量,谢谢。

真诚的,亚历克斯

4

1 回答 1

1

您可以根据( 之后的位)RewriteRule的内容来限制 a 。您可以使用以下方法执行此操作:QUERY_STRING?RewriteCond

RewriteCond %{QUERY_STRING} unsubscribe=
RewriteRule ^$ /newsletter/ [QSA,R]

RewriteCond匹配任何QUERY_STRING包含“取消订阅=”的内容。然后 RewriteRule 将重写任何请求以指向“/newsletter/”,并将查询字符串附加到它。只重写一个空请求意味着子目录中的请求不会被重定向。

例如

http://example.com/?unsubscribe=12345 -> http://example.com/newsletter/?unsubscribe=12345
http://example.com/test/?unsubscribe=12345 : no redirect

如果您还希望重定向对子目录的请求,请将规则替换为以下内容:

RewriteCond %{QUERY_STRING} unsubscribe=
RewriteRule .* /newsletter/ [QSA,R]

希望这一切都有意义。

于 2013-06-19T11:22:07.263 回答