Apache-2.2

Apache 沒有響應配置更改

  • May 27, 2014

我有一個在 Ubuntu 12.04.4 LTS 上執行最新 2.2 版本的 Apache 伺服器。我沒有更改大部分配置。一開始一切正常,但現在它沒有註意到其配置有任何變化。

例如,這裡是一個.htaccess文件。

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule myfile [F]
Header set X-Asdf rewrite_found
</IfModule>

這根本沒有效果(即使我確實有mod_rewrite),也沒有在.htaccess.

另外,我將此添加到httpd.conf

ServerSignature Off
ServerTokens Prod

也完全沒有效果。

我試過這些東西,沒有任何效果:

  • service apache2 reload
  • service apache2 restart
  • 重啟機器
  • 添加到httpd.conf
<Directory *>
AllowOverride All
</Directory>

Apache 仍在讀取配置,因為那裡出現的任何語法錯誤都會在重新載入時報告錯誤。

什麼可能導致這種情況?

編輯:

root@my-server:~# apachectl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
        default server 127.0.0.1 (/etc/apache2/sites-enabled/000-default:1)
        port 80 namevhost 127.0.0.1 (/etc/apache2/sites-enabled/000-default:1)                                       
Syntax OK   

我自己將這個答案發佈為Shane Madden,他在評論中沒有告訴我這一點。

/etc/apache2/sites-enabled/000-default修復方法是對而不是進行更改httpd.conf,因為前者是在後者之後讀取的,因此那裡的指令會覆蓋。

引用自:https://serverfault.com/questions/597283