2012-04-07 213 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