など。nginxでその中のフラグメントを持つURLに書き直すことはできますか?
書き換え^/page /#page;
フラグメントの性質(サーバーなどに送信されたことがないため)が可能かどうかはわかりません。しかし、私は1つではなく、1つに書き換えているので、うまくいくはずです。
この場合、コメントを開始しないようにハッシュ記号をエンコード/エスケープするにはどうすればよいですか?
ありがとうございます!
など。nginxでその中のフラグメントを持つURLに書き直すことはできますか?
書き換え^/page /#page;
フラグメントの性質(サーバーなどに送信されたことがないため)が可能かどうかはわかりません。しかし、私は1つではなく、1つに書き換えているので、うまくいくはずです。
この場合、コメントを開始しないようにハッシュ記号をエンコード/エスケープするにはどうすればよいですか?
ありがとうございます!
ご存じのように、このフラグメントはブラウザで使用されており、サーバーには送信されません。
しかし、nginx
を使用すると、リクエストをフラグメントを含む新しいURIに書き換えることができますが、新しいURIがブラウザに送信された場合、つまりHTTP 3xx応答を使用する場合のみ意味があります。
redirect
(302)またはpermanent
rewrite
ディレクティブはHTTPの3xx応答を生成する(301)フラグを提供(または置換文字列は、スキームで始まる - 多くのためthis documentを参照します)。例えば
:
rewrite ^/page /#page redirect;
よかった、ありがとう。私は#コメントを開始するのを避けるにはどうすればいいですか? – Codemonkey
ああ、それは私が心配する必要があるものではないことが判明! – Codemonkey
それは*外部*リダイレクトする必要があります - ので、 'rewrite'ステートメントに' redirect'または 'permanent'接尾辞を追加します。 –
この場合、「外部」の意味を説明できますか?そして、ハッシュ/ポンド記号をどのようにエンコードするのですか? – Codemonkey