UseCanonicalName ディレクティブ
構文: UseCanonicalName on|off|dns
デフォルト: UseCanonicalName on
コンテキスト: サーバー設定、仮想ホスト、ディレクトリ
オーバーライド: オプション
互換性: UseCanonicalName は Apache 1.3 以降でのみ使用可能です
多くの状況で、Apache は構築する必要があります自己参照 URL。つまり、同じサーバーを参照する URL です。 UseCanonicalName がオンの場合 (および 1.3 より前のすべてのバージョン)、Apache は ServerName および Port ディレクティブを使用してサーバーの正規名を構築します。この名前は、すべての自己参照 URL、および CGI の SERVER_NAME および SERVER_PORT の値に使用されます。
UseCanonicalName をオフにすると、Apache はクライアントから提供されたホスト名とポートがあればそれを使用して自己参照 URL を形成します (それ以外の場合は正規名を使用します)。これらの値は、名前ベースの仮想ホストの実装に使用されるものと同じであり、同じクライアントで使用できます。 CGI 変数 SERVER_NAME および SERVER_PORT も、クライアントが指定した値から構築されます。
これが役立つ例は、ユーザーが www などの短い名前を使用してマシンに接続しているイントラネット サーバー上です。ユーザーが短縮名とディレクトリである URL (http://www/splat など) を末尾のスラッシュなしで入力すると、Apache がユーザーを http://www.domain.com/ にリダイレクトすることがわかります。スプラット/。認証を有効にしている場合、ユーザーは 2 回 (www に対して 1 回、www.domain.com に対して 1 回) 再認証する必要があります。ただし、UseCanonicalName がオフに設定されている場合、Apache は http://www/splat/ にリダイレクトします。
3 番目のオプションとして UseCanonicalName DNS があります。これは、Host: ヘッダーを提供しない古いクライアントをサポートするために、大量の IP ベースの仮想ホスティングで使用することを目的としています。このオプションを使用すると、Apache は自己参照 URL を計算するために、クライアントが接続したサーバーの IP アドレスに対して逆引き DNS ルックアップを実行します。
警告: CGI が SERVER_NAME の値について仮定を行っている場合、このオプションによって壊れる可能性があります。クライアントは基本的に、ホスト名として必要な値を自由に指定できます。ただし、CGI が SERVER_NAME を使用して自己参照 URL を構築するだけであれば、問題ないはずです。