サイトに Facebook の「いいね」ボタンを実装しようとしていますが、URL に「&」が含まれていると問題が発生します。htmlentities
と同様にurlencode
(これは動作に最も近いですが、完全ではありません)を使用してみました。
のような URL がexample.com/entry.php?id=1&refer=abc
あり、ソーシャル プラグイン ボタンの iframe の href の全体を URL エンコードすると、次のようになります。example.com%2Fentry.php%3Fid%3D1%26refer%3Dabc
ここで、このようなボタンでページを読み込んで「いいね」をクリックすると、正しい URL「example.com/entry.php?id=1&refer=abc
」が表示されますが、その横に「エラー」と表示されます。エラー メッセージをクリックすると、次のエラーが表示されます。
のページにexample/entry.php?id=1&refer=abc
アクセスできませんでした。
何らかの理由で & を & として解釈していますが、これはどのように意味があるのでしょうか?
考え?