2017-10-06 10 views
1

など。nginxでその中のフラグメントを持つURLに書き直すことはできますか?

書き換え^/page /#page;

フラグメントの性質(サーバーなどに送信されたことがないため)が可能かどうかはわかりません。しかし、私は1つではなく、1つに書き換えているので、うまくいくはずです。

この場合、コメントを開始しないようにハッシュ記号をエンコード/エスケープするにはどうすればよいですか?

ありがとうございます!

+0

それは*外部*リダイレクトする必要があります - ので、 'rewrite'ステートメントに' redirect'または 'permanent'接尾辞を追加します。 –

+0

この場合、「外部」の意味を説明できますか?そして、ハッシュ/ポンド記号をどのようにエンコードするのですか? – Codemonkey

答えて

1

ご存じのように、このフラグメントはブラウザで使用されており、サーバーには送信されません。

しかし、nginxを使用すると、リクエストをフラグメントを含む新しいURIに書き換えることができますが、新しいURIがブラウザに送信された場合、つまりHTTP 3xx応答を使用する場合のみ意味があります。

redirect(302)またはpermanentrewriteディレクティブはHTTPの3xx応答を生成する(301)フラグを提供(または置換文字列は、スキームで始まる - 多くのためthis documentを参照します)。例えば

rewrite ^/page /#page redirect; 
+0

よかった、ありがとう。私は#コメントを開始するのを避けるにはどうすればいいですか? – Codemonkey

+0

ああ、それは私が心配する必要があるものではないことが判明! – Codemonkey

関連する問題