2012-05-27 64 views
0

我能夠訪問本地主機的一些地區,但不能訪問其他 例如,無法訪問本地主機 - 403禁止

  • 我可以訪問localhost/index.phplocalhost/somefolder/

  • 但不localhost/somefolder/anotherfolder

我也無法include以內的任何文件在PHP,因爲它說failed to open stream: No such file or directory

我有chmod -R 755 www,但仍無法訪問子目錄

可能是什麼原因?

+0

給我們代碼:) – gkaykck

+1

您是否更改了文件夾和文件的權限?我記得有些情況下,我更改了文件的權限,但該文件夾仍然不允許訪問。 – Ahatius

+0

@gkaykck我不相信這是與代碼有關,因爲我試圖從瀏覽器訪問這些位置我自己 – fenerlitk

回答

3

檢查SELinux是否在該機器上運行。然後對你可以查看的目錄和你不能的目錄做一個ls -alZ。如果您啓用了SELinux,則很可能無法在其中查看目錄的安全組未設置爲http安全組。我相信它應該是system_u:object_r:httpd_sys_content_t的效果。

檢查您的系統上是否啓用了SELinux /etc/selinux/config。如果是,請轉到您遇到問題的目錄並鍵入:chcon -Rv --type=httpd_sys_content_t <directory name>。這會將httpd內容安全標誌添加到該目錄及其下的所有內容,從而允許Apache訪問它。

+0

我沒有目錄:'/ etc/selinux'所以我猜測我的機器上沒有SELinux。 – fenerlitk

+1

僅供參考:[關於SELinux配置的好文章](http://www.techrepublic.com/blog/opensource/practical-selinux-for-the-beginner-contexts-and-labels/2458) – nico

2

如果你的文件夾中沒有'index.html'(或index.php),你不能在沒有公開你的目錄的情況下到達它們。這應該被默認禁用,但對於你的包含問題,我需要一些代碼和目錄樹。