我有一台带有网站的服务器。我的文档根目录是/var/www
。
我的配置:
<VirtualHost *:80>
Servername www.eeeeeb.fr
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
RedirectMatch ^/$ /wiki/
</Directory>
</VirtualHost>
我不明白第一个 Directory 指令是做什么用的。
在指令中,“/”代表文件系统/var/www
还是/
?
如果是为了/var/www
这个目的,那就意味着第一个目录可以被第二个目录替换……对吗?
答案1
<Directory>
指令是文件系统目录。<Location>
指令是 URL 的一部分。
我假设存在指向结构外部的虚拟目录/var/www/
(或曾经存在)。
有/
Directory 指令是正常的,但它通常更像:
<Directory />
Deny from All
Options None
</Directory>
这有助于防止意外暴露“正常”结构之外的目录。
附注:直接指向/var/www
是一种“过于简单”的方案,当您开始做任何稍微复杂的事情时,它有很多缺点。您应该使用类似 的东西/var/www/$site_name/data
。如果您只有一个网站,只需将文件夹命名为“default”或“apache”或其他简单名称即可。