我在我的家用 Linux 電腦上使用 Apache 作為臨時伺服器,以便在一些朋友之間共用一些檔案。因此,我只想要這些文件的目錄列表以及子目錄。我在目錄參數中有索引選項,並且可以查看該目錄。問題是,只有一個子目錄可以查看,而其他子目錄沒有列出。我對所有文件和目錄的權限和所有權都相同,但沒有任何變化。如果我嘗試強行進入隱藏目錄,我會收到一條關於沒有必要權限的訊息。這裡有什麼幫助嗎?
Directory directive from conf file:
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>
Permissions of Directory:
drwxr-xr-x. 5 apache users 4096 Jan 22 17:17 DND
drwxr-xr-x. 11 apache users 4096 Jan 16 08:16 Pathfinder
-rwxr-xr-x. 1 apache users 119 Jan 19 17:30 README
Pathfinder 和其中的所有內容都會顯示出來,而 README 僅當我透過 URL 推送它時才起作用。當我透過 URL 推送它時,DND 不顯示,也不起作用。
答案1
我在託管解決方案上遇到了同樣的問題,因此我無法訪問“主”Apache 設定檔 - 儘管我可以放入.htaccess
我的子資料夾並允許Options +Indexes
在那裡。但是,即使我這樣做,名為 do.txt 的檔案README
也不會列出 - 而名為 do.txt 的檔案也不會列出Readme
。
這告訴我,可能README
在頂級 Apache 設定中的某個位置被禁用,並且可能通過IndexIgnore
;問題似乎是:
關於。 htaccess 可以恢復預設索引 - WebmasterWorld 的 PHP 伺服器端腳本論壇
一旦設定了 IndexIgnore,您就無法從子資料夾中覆寫它。嘗試使用順序允許,拒絕。
……我試了一下:
Options +Indexes
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Files "README">
order deny,allow
deny from all
allow from all
</Files>
,但似乎這對名為的文件沒有幫助README
- 至少對我有限的配置可能性沒有幫助。另一件事是有一個ReadmeName
屬性apache
(例如apache2 - 更改Apache中的預設自述檔案名稱 - 程式碼日誌);這也可能造成麻煩?還有類似的問題:http - Apache 不在目錄清單中顯示 README.TXT 檔案。我怎樣才能啟用它? - 堆疊溢位
無論如何,對我來說,快速解決方法是將文件從全部大寫重命名README
為混合大寫...
答案2
它可能取決於您的 Linux 發行版,但在 Centos 6.X 中,預設的 Apache 配置在 /etc/httpd/conf/httpd.conf 中包含一個 IndexIgnore 指令,該指令排除所有以 README 開頭的檔案。