Apakah Directory
direktif Apache seharusnya relatif terhadap DocumentRoot atau tidak? Saya bertanya dalam konteks VirtualHost, tetapi seharusnya tidak ada bedanya.
Dengan kata lain, apakah itu seharusnya:
<VirtualHost>
DocumentRoot /var/www
<Directory /var/www>
...
atau
<VirtualHost>
DocumentRoot /var/www
<Directory />
...
Keduanya bekerja. The Apache Directory docs mengatakan:
Direktori-path adalah path lengkap ke direktori, atau string wild-card ...
... tapi kemudian mereka menunjukkan dua contoh yang bertentangan dengan pernyataan "path lengkap".
ED: Ada juga contoh kontradiktif pada halaman Tuning Kinerja Apache di bagian FollowSymLinks dan SymLinksIfOwnerMatch dan AllowOverride .
Untuk bersenang-senang saya melihat pengaturan vhost default Debian dan menemukan ini:
<VirtualHost *:80>
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
...
sumber
/
, lalu mengapa Apache melayani/var/www
direktori?DocumentRoot
. TheDirectory
direktif benar-benar terpisah, dan memiliki efek mengatakan "menerapkan konfigurasi tertutup untuk direktori ini dan semua subdirektori". Konfigurasi yang lebih spesifik diprioritaskan, sehingga<Directory /var/www/>
akan menimpa<Directory />
.<Directory />
dari konteks VirtualHost dapat menimpa Pilihan di seluruh server (atau pengaturan lainnya) dari<Directory />
? Itu masuk akal. Terima kasih untuk bantuannya.