在看ThinkPHP文件時,看到下面這段文字:為了避免某些伺服器開啟了目錄瀏覽權限後可以直接在瀏覽器輸入URL位址查看目錄,系統預設開啟了目錄安全文件機制,會在自動生成目錄的時候生成空白的index.html文件,當然安全文件的名稱可以設置,例如你想給安全文件定義為default.html可以在入口文件中添加。
我是比較討厭多餘的index.html,所以想直接關掉目錄瀏覽權限,那麼問題來了,在nginx怎麼關閉和開啟這個權限呢?
以下是我百度找到的答案:
nginx讓目錄中的檔案以列表的形式展現只需要一條指令
autoindex on;
autoindex可以放在location中,只對目前location的目錄起作用。你也可以將它放在server指令區塊則對整個網站都運作。或放到http指令區塊,則對所有網站都生效。
下面是一個簡單的例子:
server { listen 80; server_name domain.com www.domain.com; access_log /var/...........................; root /path/to/root; location / { index index.php index.html index.htm; } location /somedir { autoindex on; } }
跟Apache的Deny from all類似,nginx有deny all指令來實作。
禁止對叫dirdeny目錄的存取並返回403 Forbidden,可以使用下面的配置:
location /dirdeny { deny all; return 403; }
以下是我百度找到的答案:
1.目錄列表(directory listing)
nginx讓目錄中的檔案以列表的形式展現只需要一條指令
autoindex on;
autoindex可以放在location中,只對目前location的目錄起作用。你也可以將它放在server指令區塊則對整個網站都運作。或放到http指令區塊,則對所有網站都生效。
下面是一個簡單的例子:
2.nginx禁止存取某個目錄
跟Apache的Deny from all類似,nginx有deny all指令來實作。
禁止對叫dirdeny目錄的存取並返回403 Forbidden,可以使用下面的配置: