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回まで
  • 13歳以上
  • 登録:2011/06/26 17:14:02
  • 終了:2011/07/03 17:15:03

ベストアンサー

id:abcb2 No.1

abcb2回答回数2ベストアンサー獲得回数22011/06/26 17:22:28

ポイント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

abcb2回答回数2ベストアンサー獲得回数22011/06/26 17:22:28ここでベストアンサー

ポイント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

niwa-mikiho回答回数508ベストアンサー獲得回数382011/06/28 03:54:36

ポイント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

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません