Der Mutzenbacher: Deny in htaccess wird nicht beachtet

Hallo, ich habe folgende Zeilen in der httpd.conf meines Apache2:

<Directory />
  Options FollowSymLinks
  AllowOverride None
  Order Allow,Deny
  Deny from all
</Directory>
<DirectoryMatch "/home/www/[^/]+/htdocs">
  Order Deny,Allow
</DirectoryMatch>

Weitere Order, Deny oder Allow gibt es nicht.

Gebe ich mit dieser Konfiguration in einer htaccess ein Deny from Meine_IP ein, wird es nicht beachtet, ich bekomme weiterhin Zugriff. Es gibt auch keine Fehlermeldung im error_log. Wieso funktioniert Deny nicht?

Die htaccess ist in Ordnung, insbesondere ist Options All gesetzt (ansonsten käme auch eine Fehlermeldung), denn wenn ich den Teil mit dem DirectoryMatch rausnehme und den Server neu starte, kann ich (mit zusätzlichem Order Deny,Allow in der htaccess) den Zugriff für meine IP wie erwartet mit dem Deny regeln.

Habe ich da ein Brett vorm Kopf? Irgendetwas in der Anleitung übersehen, dass Order in Directory Order/Allow/Deny in htaccess ersetzt? Falls ja, wo? "with .htaccess, if allowed, overriding <Directory>" aus dem Kapitel Configuration Sections spricht doch eigentlich dagegen.

Ich habe das jetzt x-mal rauf und runtergeprüft, aber ich irgendwo passt da was nicht. Hilfe! Danke!

  1. hi,

    Gebe ich mit dieser Konfiguration in einer htaccess ein Deny from Meine_IP ein, wird es nicht beachtet, ich bekomme weiterhin Zugriff.

    Testest du auf einem Server im Web, oder auf deinem Localhost?
    Welche IP hast du angegeben?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      Gebe ich mit dieser Konfiguration in einer htaccess ein Deny from Meine_IP ein, wird es nicht beachtet, ich bekomme weiterhin Zugriff.

      Testest du auf einem Server im Web, oder auf deinem Localhost?
      Welche IP hast du angegeben?

      Der Server steht im Web, die IP ist diejenige, die der Server selbst für meine Zugriffe mitprotokolliert. Beachte: Die Deny-Zeile funktioniert unter bestimmten Umständen! Nochmal zur Verdeutlichung:

      httpd.conf:
      <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order Allow,Deny
        Deny from all
      </Directory>
      <DirectoryMatch "/home/www/[^/]+/htdocs">
        Order Deny,Allow
      </DirectoryMatch>

      .htaccess:
      Deny from Meine_IP

      Freier Zugriff, Deny wird unerwarteterweise nicht beachtet.

      httpd.conf:
      <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order Allow,Deny
        Deny from all
      </Directory>

      .htaccess:
      Order Deny,Allow
      Deny from Meine_IP

      Freier Zugriff außer von Meine_IP, wie erwartet.

      httpd.conf:
      <Directory />
        Options FollowSymLinks
        AllowOverride None
        Order Allow,Deny
        Deny from all
      </Directory>

      .htaccess:
      Order Deny,Allow
      #Deny from Meine_IP

      Freier Zugriff, wie erwartet.

      Mir ist das Verhalten von vorne bis hinten schleierhaft.