0

让我简要解释一下。我的产品页面上有一个 FB 按钮,如果有人点击它上面的点赞按钮。我的页面位于 Facebook 上的“活动”选项卡下,因此如果有人在 facebook 中单击我的页面链接,它会重定向回我的页面,但是 facebook 将查询字符串添加为

www.abcd.com/shop/productx/&fb_action_ids=485653551476299&fb_action_types=og.likes&fb_ref=.UPeDRHNDS9c.like&fb_source=aggregation&fb_aggregation_id=246965925417366

但是在此链接到达我的站点后,内部配置将所有 & 更改为 / 这是

www.abcd.com/shop/productx/fb_action_ids/4748009931767/fb_action_types/og.likes/fb_ref/.UPbzP0K2Q0g.like/fb_source/timeline_og/action_object_map/%7B%224748009931767%22:537586299592758%7D/action_type_map/%7B%224748009931767%22:%22og.likes%22%7D/action_ref_map/%7B%224748009931767%22:%22.UPbzP0K2Q0g.like%22%7D

所以它不再是一个查询字符串,而是变成了正确的 url。这使我的网站进入无限循环。

目前我的 htaccess conf 是:

RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1 [E=VAR1:$1,QSA]

如何删除 facebook 添加的额外 URL?

4

1 回答 1

0

在您当前的规则之上添加这个将删除从&fb_action开始的所有内容。

RewriteRule ^(.*?)&fb_action /$1 [L,R=301]

请注意,我假设这实际上不是查询字符串,因为在您的问题中,您的 URL 看起来像:

www.abcd.com/shop/productx/&fb_action_...
# no ? here----------------^
于 2013-01-23T18:19:15.190 回答