我有一個文件夾列表,例如:文件夾/public_html/Davood/
和太多的子文件夾,例如:/public_html/Davood/Test1/
,/public_html/Davood/Test1/Test/
,/public_html/Davood/Test2/
...否認目錄中的htaccess
我想添加一個htaccess文件爲/public_html/Davood/
要拒絕目錄列表/Davood
和子文件夾,可能嗎?
我有一個文件夾列表,例如:文件夾/public_html/Davood/
和太多的子文件夾,例如:/public_html/Davood/Test1/
,/public_html/Davood/Test1/Test/
,/public_html/Davood/Test2/
...否認目錄中的htaccess
我想添加一個htaccess文件爲/public_html/Davood/
要拒絕目錄列表/Davood
和子文件夾,可能嗎?
選項-Indexes應該能夠防止目錄列表。
如果您使用.htaccess文件,請確保您的主apache config file中至少有「allowoverride選項」設置。
這並沒有改變任何東西 – minhajul 2015-09-20 02:41:15
我已經過測試,但不幸的是不起作用。 – 2011-05-09 05:24:14
是的,我認爲 - 索引禁用的目錄列表,而是阻止文件夾中的所有內容...有誰知道爲什麼? – 2015-03-05 16:04:34
我所能想到的是服務器配置存在一些問題。嘗試啓用'rewrite'模塊,並將目錄設置爲'AllowOverride All'。如果所有這些都已經存在,並且您所評論的內容是真實的,那麼我必須非常幸運地得到'Options All -Indexes'才能在不同服務器上的每個項目中工作。 – Fr0zenFyr 2017-06-02 08:37:46
如果Options -Indexes
不像布賴恩德魯裏建議的那樣工作,您可以編寫一個遞歸方法來創建空白index.php文件。
將你想保護你的基地文件夾的這裏面,你可以命名爲任何(我推薦的index.php)
<?php
recurse(".");
function recurse($path){
foreach(scandir($path) as $o){
if($o != "." && $o != ".."){
$full = $path . "/" . $o;
if(is_dir($full)){
if(!file_exists($full . "/index.php")){
file_put_contents($full . "/index.php", "");
}
recurse($full);
}
}
}
}
?>
這些空白的index.php文件,可以很容易地刪除或覆蓋,他們會讓你的目錄不能被列出。
雖然空文件並不是什麼大事,但更好的解決方案可能是使用[符號鏈接](http://php.net/manual/en/function.symlink.php),它可以節省一點空間,如果他選擇顯示某種統一的信息而不是空白頁面,他只需要修改1個文件。 – daalbert 2011-05-17 19:39:53
@daalbert「這樣可以節省一點空間」 - 你是系統管理員嗎?系統管理員邏輯:您剛剛保存了2Kb * 1000個文件夾= 2Mb;當你至少有50GB空閒時,你抱怨幾Mb?他的解決方案很糟糕,但你的答案甚至是笨拙的... – HellBaby 2017-03-02 08:48:24
我不明白爲什麼'選項所有-Indexes'不起作用! – Fr0zenFyr 2017-06-02 08:31:00
對於展示紫禁城錯誤,那麼在您的.htaccess文件這些行:
Options -Indexes
如果我們希望我們的索引文件,並顯示出一些信息他們,然後用:
IndexOptions -FancyIndexing
如果我們想爲某些特定的分機不顯示,那麼:
IndexIgnore *.zip *.css
'.httaccess'或'.htaccess'? – NaveenDA 2017-07-29 04:47:53
Options -Indexes
我必須嘗試創建.htaccess文件,即我想要禁止目錄索引列表的當前目錄。但是,對不起,我不知道在.htaccess代碼中遞歸。
試試吧。
同意,
Options -Indexes
如果主服務器被配置爲允許選擇覆蓋應該工作,但如果沒有,這會從列表隱藏所有文件(這樣每個目錄顯示爲空):
選項-Indexes爲受保護的目錄返回403禁止的錯誤。同樣的行爲可以通過在htaccess的使用下面的重定向被achived:
RedirectMatch 403 ^/folder/?$
這將返回一個禁止錯誤example.com/folder/。
您還可以使用mod-rewrite禁止對文件夾的請求。
RewriteEngine on
RewriteRule ^folder/?$ - [F]
如果你的htaccess的是,你要保佑,從^文件夾/?$到^$改變重寫規則的圖案的文件夾中。
有兩種方式:
使用的.htaccess:Options -Indexes
創建空白的index.html
我不明白爲什麼'選項所有-Indexes'沒在很少的答案中工作! – Fr0zenFyr 2017-06-02 08:30:50
@ Fr0zenFyr它取決於網絡服務器配置,如果'AllowOverride All',作品 – 2017-06-04 12:27:38