默认的 apache2.conf 包含以下内容:
<Directory /usr/share>
...
<Directory /var/www/>
为什么其中一个指令末尾有斜杠,而另一个指令末尾没有?这有什么区别?
附带问题:如果我不想分享任何内容/usr/共享,我可以直接删除此部分或将其设置为要求全部拒绝?
答案1
关于尾随斜线,如下:https://serverfault.com/a/263219州,论点Directory
指令必须是目录路径。没有斜线是惯例,但两种语法均有效且结果相同。
请注意,在其他场景中以及与其他指令结合时可能会存在差异,例如禁用DirectorySlash
指令可能会导致请求http://www.example.com/directory-path
显示不同的结果,而不是请求http://www.example.com/directory-path/
如果我不想从 /usr/share 分享任何内容,我可以简单地删除这部分或将其设置为要求全部拒绝吗?
目录语句本身不会公开任何内容。
(据我所知,只有 [Script]Alias
和DocumentRoot
指令以及类似的映射 URI 路径到文件系统。)
目录块仅将特定设置应用于文件系统上的位置。这意味着即使您尚未从那里共享内容,您也可以保留目录块,例如 for 目录块/usr/share
。这不会对安全性或性能产生任何影响。