我想了解httpd.conf文件的Directory部分中的以下configuration(特定于FollowSymlinks和SymlinksIfOwnerMatch指令):
<Directory "/home"> Options +All -FollowSymLinks +IncludesNOEXEC -Indexes +MultiViews +SymLinksIfOwnerMatch AllowOverride All Options=ExecCGI,Includes,IncludesNOEXEC,Indexes,MultiViews,SymLinksIfOwnerMatch </Directory>
根据我的理解,它首先禁用FollowSymLinks并启用httpd.conf级别的SymLinksIfOwnerMatch,并将其应用于/ home中存在的所有文件和子目录。
下一个指令, AllowOverride 。 通过编写“ 全部 ”,它允许所有属于FileInfo , AuthConfig , Indexes , Limit的指令被.htaccess文件覆盖。
它明确提到了可以被.htaccess文件覆盖的选项列表。
所以,它允许SymLinksIfOwnerMatch被.htaccess文件覆盖。
我的理解是正确的吗?
为什么它允许SymLinksIfOwnerMatch被.htaccess文件覆盖,如果在上面的行中明确提到了SymLinksIfOwnerMatch被启用?
谢谢。
如果将“允许覆盖”看作是“允许用户更改设置”,则可能会变得更清晰。 在这种情况下,用户可以在其.htaccess文件中禁用 SymLinksIfOwnerMatch 。