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 に答える