2011-08-12 9 views
1

私はウェブサイトを開発しています。私はFacebookと統合して、FB壁で自分のウェブサイトのページを共有できるようにしたいと考えています。私の問題は次の行で説明され、私の質問は最後です。 http://address/index.php?p1=parameter1&p2=parameter2としてhttp://address/parameter1/parameter2:それはのようなものを書き換えることを意味しますURLリライトとFacebookのリンク情報の取得

RewriteRule ^([a-zA-Z0-9_-]+)\/?([a-zA-Z0-9_-]+)\/?$ index.php?p1=$1&p2=$2 

私は私の.htaccessファイル内のルールを書き換え、次のURLを使用しています。

FBにhttp://address/parameter1/parameter2を投稿すると、そのURLの下に書き換えられたURLのみが表示されます。

私はhttp://address/index.php?p1=parameter1&p2=parameter2をFBに投稿し、私が表示したい情報、つまり私がメタタグに入れた情報を表示します。

http://address/parameter1/parameter2 FBデバッガ(http://developers.facebook.com/tools/debug)でデバッグしようとしましたが、エラーが発生します: "サーバーが返されたためにページにアクセスできませんでしたステータスコード400。

私はそれを修正する方法はありますか?つまり、実際にはダイナミックリンクを静的リンクのように動作させ、それをリンクさせる人には透過的にします。


は編集:

書き換えルールの変化は、問題を解決する必要があります:? のRewriteRule ^([-Z0-9 _-] +)/([-Z0-9 _-] + )/?$ index.php?p1 $ 1 & p2 = $ 2 [L、NC]

また、私がやっていたPHPのリダイレクトも変更しました。

それが私の問題を解決しました。

+0

301リダイレクトを試してみましたか? – ifaour

+0

はい、あります。私もmimetypeをtext/htmlに設定しようとしました。それでも動作しません。 – AntonioJunior

答えて

0

私はphpでURLを動的に書き換えて管理する点を除いて、あなたと同様の問題があります。 私は現在、htaccess(free.fr)を通じてURLの書き換えを許可していないウェブホストです。

動的標準URLが正しく処理されています。しかし、rewrited URLはありません。

ヘッダーのステータスコードを考慮して、どうすればこの問題を解決できますか?

私ができることは、HTML出力コードを生成するスクリプトをインクルードする代わりにリダイレクトを行うことです。 URLに特殊な追加パラメータがあるため、includeとredirectを切り替えるようにハンドラに指示するだけです。 しかしそれはかなりの解決策ではありません。

関連する問題