Apacheの<Directory>,<Location>ディレクティブの使い分けについて悩んでいます。


今までバーチャルホストの設定を下記のようにしていたのですが、
同じパス名(/home/foo/..)を2回書いている点がDRYでなく気持ち悪いと感じていました。

<VirtualHost *:80>
ServerName www.mydomain.com
DocumentRoot /home/foo/public_html
<Directory /home/foo/public_html>
...もろもろ設定
</Directory>
</VirtualHost>

ここで、<Directory>の代わりに<Location>を使うとパス名の重複を排除できるのですが、
このような手法はアリでしょうか?
デメリットなどがあれば教えてください。
<VirtualHost *:80>
ServerName www.mydomain.com
DocumentRoot /home/foo/public_html
<Location />
...もろもろ設定
</Location>
</VirtualHost>

なおApacheのマニュアルには「<Location>はファイルシステム外のコンテンツにディレクティブを適用するときに 使用してください」と書かれているのですが、ほとんどのケースではコンテンツ=ファイルシステムだと思うので問題ない気がします。
http://httpd.apache.org/docs/2.0/ja/mod/core.html#location

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/07/03 17:15:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:abcb2 No.1

回答回数2ベストアンサー獲得回数2

ポイント34pt

シンボリックリンクが使えなくなるみたいですょ

http://httpd.apache.org/docs/2.0/ja/mod/core.html#options

id:DQNEO

ありがとうございます。

FollowSymLinksが無視されんですね。なるほど。

シンボリックリンクを使ってなければ問題ないわけですね。

2011/06/26 21:12:20

その他の回答1件)

id:abcb2 No.1

回答回数2ベストアンサー獲得回数2ここでベストアンサー

ポイント34pt

シンボリックリンクが使えなくなるみたいですょ

http://httpd.apache.org/docs/2.0/ja/mod/core.html#options

id:DQNEO

ありがとうございます。

FollowSymLinksが無視されんですね。なるほど。

シンボリックリンクを使ってなければ問題ないわけですね。

2011/06/26 21:12:20
id:niwa-mikiho No.2

回答回数516ベストアンサー獲得回数40

ポイント33pt

Directory に対しての設定で、Location は URL に対しての設定です。


機能が似てるように見えますが、意味合いは大きく違ってきます。

また、Options ディレクティブは Location の中では動作しません。

id:DQNEO

なるほど!

ありがとうございます。

2011/07/04 03:46:01
  • id:DQNEO
    Optionsディレクトリで、無視されるのは
    FollowSymLinks, SymLinksIfOwnerMatchの2つのみじゃないですかね?

    http://httpd.apache.org/docs/2.2/ja/mod/core.html#options

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません