DocumentRoot 和 Directory 之间有什么区别

DocumentRoot 和 Directory 之间有什么区别

请告诉我默认文件中的 DocumentRoot 和 Directory 之间的区别是什么 apache2 中的默认文件有三个块

DocumentRoot /var/www   in me server /sda1/htdocs

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

<Directory /var/www>   in my server sda1/htdocs>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

我可以只使用 sda1/htdocs 目录中的这两个吗

DocumentRoot /sda1/htdocs

<Directory /sda1/htdocs>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

非常感谢

答案1

以下是官方的摘录Apache 文档

如果多个(非正则表达式)目录部分与包含文档的目录(或其父级之一)匹配,则指令将按照最短匹配的顺序应用,并与 .htaccess 文件中的指令交错。例如,

<Directory /> AllowOverride None </Directory>

<Directory /home> AllowOverride FileInfo </Directory>

访问文档 /home/web/dir/doc.html 的步骤如下:

Apply directive AllowOverride None (disabling .htaccess files).
Apply directive AllowOverride FileInfo (for directory /home).
Apply any FileInfo directives in /home/.htaccess, /home/web/.htaccess and /home/web/dir/.htaccess in that order.

ieDirectory /指令为所有其他目录定义“默认值”,每个特定目录都可以覆盖该默认值

在您的情况下,除非您有其他目录指令,否则您显示的两个版本应该是等效的。

相关内容