今までバーチャルホストの設定を下記のようにしていたのですが、
同じパス名(/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
ありがとうございます。
FollowSymLinksが無視されんですね。なるほど。
シンボリックリンクを使ってなければ問題ないわけですね。
Directory に対しての設定で、Location は URL に対しての設定です。
機能が似てるように見えますが、意味合いは大きく違ってきます。
また、Options ディレクティブは Location の中では動作しません。
なるほど!
ありがとうございます。
ありがとうございます。
FollowSymLinksが無視されんですね。なるほど。
シンボリックリンクを使ってなければ問題ないわけですね。