web-dev-qa-db-ja.com

Apache HTTPサーバーとリダイレクト

サーバーの構成ファイルを確認したところ、「redirect-carefully」の設定が確認されました。

ドキュメントの確認:

慎重にリダイレクト

これにより、クライアントにリダイレクトを送信する際にサーバーがより慎重になります。これは通常、クライアントにリダイレクトの処理に関する既知の問題がある場合に使用されます。これはもともと、DAVメソッドを介したディレクトリリソースへのリダイレクトの処理に問題があるMicrosoftのWebFoldersソフトウェアの問題の結果として実装されました。

https://httpd.Apache.org/docs/2.4/env.html

これは、redirect-carefullyが設定されている場合のサーバーの動作の違いについてはあまり言及していません。

「リダイレクトを送信するときに注意する」とはどういう意味ですか?

4
Tero Lahtinen

...問題処理は、DAVメソッドを介してディレクトリリソースにリダイレクトします

これがここの重要なポイントのようです。通常、mod_dir(DirectorySlashディレクティブ-デフォルトではOnの助けを借りて)は、301リダイレクトですべてのスラッシュのないディレクトリ要求に末尾のスラッシュを追加します。すなわち。 example.com/subdirは、example.com/subdir/に301リダイレクトされます。これは、リクエストで使用されるmethodに関係なく、GET、POST、WebDAVmethodsCOPY、LOCL 、MKCOLなど.

redirect-carefully環境変数を設定すると、これらのWebDAVメソッドでこのリダイレクトが発生しなくなり、問題が発生する可能性があります。より具体的には、リダイレクトはGET要求でのみ発生します。 (これはPOSTリクエストを除外しますが、POSTデータは301リダイレクト中に失われます。また、POSTリクエストを送信するべきではありません。とにかく「ディレクトリ」。)

これは、これをバックアップする唯一のリソースです。

環境変数を「redirect-carefully」に設定すると、リダイレクト要求を正しく処理しないさまざまなWeb Folderアプリケーションの問題が修正されます。通常、mod_dirはhttp://servername/davへのリダイレクトリクエストでhttp://servername/dav/のすべてのリクエストに応答します。 「redirect-carefully」を設定すると、これはGETリクエストに対してのみ発生します。

ソース:
http://www.deltadevelopment.de/users/christoph/webdav/

1
MrWhite