使用htaccess删除部分Url

时间:2013-01-23 12:37:09

标签: apache .htaccess mod-rewrite

让我简单解释一下。我的产品页面上有一个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添加的额外网址?

1 个答案:

答案 0 :(得分:0)

将此项添加到当前规则之上将从& fb_action 开始删除所有内容。

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

请注意,我假设这实际上不是查询字符串,因为在您的问题中,您的网址如下所示:

www.abcd.com/shop/productx/&fb_action_...
# no ? here----------------^