2012-03-17 20 views
1

我想建立一個運行php的apache服務器。我想要從www.example.com/訪問特定文件夾(比如/ site /)中的所有文件。不過,我希望通過www.example.com/data/看不到/ site/data /中的文件。我希望www.example.com/fun.php腳本能夠讀取/寫入/ site/data /。通過premissions和apache defalt文件做到這一點的最好方法是什麼?如何讓腳本訪問文件但不訪問互聯網 - Apache

回答

0

通過把這個在您的.htaccess文件在/網站/數據禁用Apache的目錄列表

Options -Indexes 
+0

中的php腳本訪問,這樣可以停止文件列表,但文件仍然可以訪問,而不是被問及的內容。 – TheCarver 2014-06-06 15:37:25

2

你需要設置你的目錄結構略有不同,以您所提出的內容。而是運行就像一個目錄下的網站:

/site/html 

和存儲就像一個目錄下的數據:

/site/data 

配置Apache僅從/網站/ HTML而不是/網站上投放的文件/數據

,或者如果您使用的是比較傳統的Apache目錄結構,那麼把你想通過在Web服務器公開訪問的文件:

/var/www/html 

和私有數據文件,只希望你的應用程序能夠訪問的東西,如:

/var/www/data 

你的Apache的conf文件,然後將包含類似:

DocumentRoot "/var/www/html" 

<Directory "/var/www/html"> 
    Options Indexes FollowSymLinks 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

這種方式中的文件/ var/www/data將無法公開訪問,但這些文件仍然可以通過/ var/www/html/

+0

感謝您的幫助。它已經澄清了我的理解,並且給了我一些啓迪,讓我做一些我認爲我應該做的事。 – jj111222333 2012-03-17 18:00:49