預設的 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 路徑到檔案系統。)
目錄區塊僅將特定設定套用至檔案系統上的位置。這意味著/usr/share
即使您(尚未)不分享其中的內容,也可以保留類似 for 的目錄區塊。這不會對安全性或性能產生任何影響。