Facebook共有をサポートする必要があるMVC JavaScriptアプリケーションがあります。つまり、独自のOGメタHTMLタグをサポートする必要があります。Nginx:URLリライトでエスケープする#
Facebookのクローラを検出してそのセクションの適切なOGタグを使ってアプリケーションのカスタムバージョンをサーバーに送信するNginxのリライトを行っていますが、Apacheは#記号の後にすべてを無視します(サーバー側はそれは、ブラウザの機能です)私は私の書き換えで「#」を脱出したいが、nginxの中でそれを行う方法を確認していないでしょう:見てみるための
location/{
if ($http_user_agent ~* 'facebookexternalhit') {
rewrite ^(.*)$ /og.php?url=http://$host$uri;
proxy_pass http://127.0.0.1:8080;
break;
}
root /var/www/html/site.net;
}
ありがとう!
Moritz:上記のように、私は正常にproxy_passingしています: 'rewrite ^(。*)$ /og.php?url = http:// $ host $ uri;'キャラクター)。私はNginxやApacheのどちらもハッシュを見ていないが、正しく書き直されていることを理解しています。次のものが必要です: 'rewrite ^(。*)$ /og.php?url=escape(http:// $ host $ uri);' –
もちろん、GETパラメータに変換するとURLをエスケープする必要があります。それを考えなかった。あなたは#についての質問でしたが、私の答えはまだ適用されています。 –
はい、私の問題は、上記のエスケープな言葉がNginxには私の知る限り存在していないということです。 –