我是 apache 新手。我想了解 httpd.conf 并进行一些修改。
DocumentRoot "/opt/www"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Web 应用程序位于 /opt/www。写入“ <Directory />..
”的目的是什么?它是否处理有关服务器上访问“/”的权限的问题?
但文档根目录设置为 /opt/www。那 呢<Directory "/var/www/html">
?
我完全糊涂了。
答案1
它为配置的站点可以访问的任何目录设置基线。
设置的选项将被这些目录中的元素继承。然后,您可以进一步定义嵌套元素的配置。就像为 所做的那样/var/www/html
。这里的主要配置更改似乎是Indexes
为该目录添加了选项(目录多于它不会启用该选项)。
一般来说,你通常会遇到两种类型的指令裹Apache HTTPD 配置文件中的其他指令。<Directory>
和<Location>
。
在这两种情况下,他们通常会定义一个范围其他指令有效。
<Directory>
指的是本地文件系统上的某个位置。<Location>
指的是用于通过 HTTPD 访问某个位置的 URL 的一部分。
引用 Apache HTTPD 文档:
何时使用
<Location>
用于
<Location>
将指令应用于文件系统之外的内容。对于文件系统中的内容,请使用<Directory>
和<Files>
。一个例外是<Location />
,这是将配置应用到整个服务器的简单方法。