web-dev-qa-db-ja.com

後のDocumentRootディレクティブは以前のDocumentRootディレクティブをオーバーライドできますか?

私はcPanelを使用しているため、WHM開発者は、サブドメインの作成を/home/usernameのユーザーアカウント内の任意のフォルダーに制限しようとしています。

処理速度を向上させるために、/ramにRAMドライブを作成し、そこにすべてのファイルをホストします。 /home/usernameにmemoryという名前のシンボリックリンクを作成しました。

現在、私のApache構成ファイルには以下が含まれています。

DocumentRoot /home/username/memory/public_html
include /home/username/configuration.conf

その後、/home/username/configuration.confにあります:

<Directory "/home/username/memory/public_html">
# insert rewrite rules here as it applies to site
</Directory>

このセットアップは正常に機能しますが、プログラムトレースによると、シンボリックリンクの有効性を確認し、親ディレクトリを調べるために多数のstat呼び出しが行われ、リクエストごとにそれらを削除できれば、より高速なWebサーバーが得られます。

複数のサブドメインの/homeフォルダーの外部のパスにドキュメントルートを設定する方法は、cpanelフォルダー内の複数のファイルを編集することであるため、このプロセスは面倒です。

ルートApache設定は最終的にWHM/cpanelによって上書きされるため、/home/username/configuration.confを次のように変更することを考えています。

DocumentRoot /ram/public_html
<Directory "/ram/public_html">
# insert rewrite rules here as it applies to site
</Directory>

それを行うと、実際のドキュメントルートは(/ ram/public_html)の実際のメモリフォルダーを指すように上書きされ、出力は同じになりますか?または、シンボリックリンクからではなく、RAMフォルダーからサイトが直接提供されるように追加の手順を実行する必要がありますか?

1
Mike

Httpd.confの外にあるconfファイルでDocumentRoot "/path/to/new"をオーバーライドしようとしましたが、うまくいくようです。これはApache 2.4用でした。

1
MarkHu