2012-04-07 212 views
2

我有一個問題,我不小心從Apache 2.2升級到2.4,現在需要更改我的httpd.conf文件以使用新的Require指令而不是使用舊的Order和Allow指令。我想我已經完成了所需的所有更改,但有一部分我不確定我應該將其替換。這是一節:將httpd.conf從2.2版升級到2.4版

<FilesMatch "^\.ht"> 
    Order allow,deny 
    Deny from all 
    Satisfy All 
</FilesMatch> 

這條命令的組合,拒絕和手託混淆了我,因爲我在這個對於新手。什麼是正確的2.4配置來完成同樣的事情。我試着用Google搜索一個答案並搜索這個網站,但還沒有找到任何東西(也許使用錯誤的術語 - 我不知道)。如果有些古魯可以提供一些幫助,將不勝感激。

謝謝!

回答

4

在已經不再需要你的情況Satisfy All

V2.2

# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
<FilesMatch "^\.ht"> 
    Order allow,deny 
    Deny from all 
    Satisfy All 
</FilesMatch> 

v2.4:

# The following lines prevent .htaccess and .htpasswd files from being 
# viewed by Web clients. 
<FilesMatch "^\.ht"> 
    Require all denied 
</FilesMatch> 
0

這裏就是我所做的升級後得到的Apache備份和運行:

  1. 使用新安裝的apache2.conf文件中的「等/ apache2的」目錄。這將清除相當多的錯誤。新文件內置了新的'Require'語法。

    • 在apache2.conf文件中,'default'目錄路徑是'var/www'。我是不同的,所以我把我的頭髮拉出來,直到我注意到它。
  2. 更改'sites-available'目錄中的所有VH文件,例如: xyzsite.com。 CONF(添加「的.conf」的文件,與默認的文件一樣。你必須改變‘需要’在這個文件的語法亨克指出。

httpd.conf中是根本就沒有用,所以如果你有一個你還不如刪除,以避免在未來的迷茫。

希望這有助於。

+0

你說的「httpd.conf中根本就沒有使用」高度依賴於系統的。我在FreeBSD 8.x上用很大的默認設置構建了Apache httpd 2.4,而且它肯定使用了httpd.conf;事實上,沒有找到「apache2.conf」。 – 2014-11-24 22:57:13