web-dev-qa-db-ja.com

Apache confディレクティブ内にテキストファイルを含める

AliasをサーバーのメインWebディレクティブに追加する必要がありますが、メインの構成ファイルでエイリアスを追加したくありません。別のファイルのテキストをディレクティブに含める方法があるかどうか疑問に思っています。たとえば、

<VirtualHost *:80>
    DocumentRoot /var/www
    ServerName *.website.co
    Alias "/old_directory" "/var/www/old_content/old_directory/"
</VirtualHost>

したがって、URLがold_directoryと一致する場合、ユーザーにはエイリアスが提供されます。上記はうまくいきますが、私はこれを動的にし、メインルールを別のconfファイルに移動しないようにしたいと思います。だからこのようなもの:

<VirtualHost *:80>
    DocumentRoot /var/www
    ServerName *.website.co
    * include a file /var/www/alias/alias.txt
</VirtualHost>

Alias.txtファイルには、エイリアスのリストがあります

Alias "/old_directory" "/var/www/old_content/old_directory/"
Alias "/old_directory1" "/var/www/old_content/old_directory/1"
Alias "/old_directory2" "/var/www/old_content/old_directory/2"
Alias "/old_directory3" "/var/www/old_content/old_directory/3"
etc.

この場合、メインのvirtualhostディレクティブをメインのconfファイルの外に移動したくありません。[含める]オプションを使用して別のファイルにルールを複製しようとすると、すでに宣言されているため、ルールを無視します。

とにかくそのように含めるか、これを処理するより良い方法はありますか?

4
Greg Alexander

とにかくそのように含めることはありますか?

はいあります。 1つは適切に呼び出される Include ディレクティブで、もう1つは IncludeOptional ディレクティブです。

9
HBruijn