.htaccess deny/allow

  • Hallo,

    ich habe in meinem Webhosting-Paket (Webhosting 8000 SE de a1) für jeden Domainnamen bzw. Subdomainnamen ein zugehöriges Verzeichnis (Ordner) angelegt und möchte den Zugriff auf die jeweiligen Verzeichnisse (Ordner) über die .htaccess-Datei steuern. (kein Passwortschutz !) Ich möchte für IP-Adressen, IP-Adressbereiche und TLD's den Zugang über den Browser sperren bzw. ermöglichen. Dazu habe ich bei früheren Projekten "allow" und "deny" in der .htaccess-Datei problemlos verwenden können.

    Wenn ich in dem Verzeichnis/Ordner zur Sub-Domainadresse "test.xyz.de" eine erfolgreich getestete .htaccess-Datei lade, erhalte ich selbst kein Zugang über den Browser auf die hoch geladenen PHP-Dateien mehr.

    Beispiel: .htaccess-Datei:

    Order deny,allow

    deny from all

    deny from .us

    deny from .ru

    allow from 79.198.00.00/255.255.0.0

    allow from 79.198.00.00/16

    allow from p4FC61AF7.dip0.t-ipconnect.de

    allow from .de

    allow from .eu

    (Originaldatei hat noch weitere Einträge mit allow)

    Warum erhalte ich bei netcup kein Zugriff mit dem Browser auf meine Webseite und bei anderen Providern läuft es Problemlos mit dieser .htaccess-Datei ?

    Werden die Möglichkeiten der .htaccess-Datei nicht in vollem Umfang von Netcup unterstützt ?

    Ich bedanke mich für jede konstruktive Information.

    ... und bitte keine Antworten mit "warum willst Du denn" oder "nimm doch etwas anderes"

  • tab --> bei 1&1 Managed Server läuft Apache 2.2 und da funktioniert die .htaccess problemlos

    Eben

    1&1 = Apache 2.2 -> deine .htaccess funktioniert so wie sie ist.

    netcup = Apache 2.4 -> deine .htaccess kann so nicht funktionieren. Mit nginx natürlich auch nicht.

    Da Deine .htaccess zuvor funktioniert hat war eh klar, dass da Apache 2.2 lief.

    Musst du halt mal schauen wie die neuen Direktiven aussehen müssen. Entsprechende Links hast du ja jetzt und weitere sind notfalls an sich auch nicht schwer zu finden, wenn man weiss, dass es an der Apache-Version liegt.

  • Um das Thema mal wieder aus der Versenkung zu holen: Ich bekomme das mit der .htaccess leider auch nicht hin.

    In den Hosting-Einstellungen „Websites&Domains“ „Hosting“ „Webscripte und Statistiken“ lässt sich nix anderes einstellen als "FastCGI-Anwendung".

    In den "Einstellungen für Apache & nginx" ist der Haken "Proxymodus - Nginx leitet Anfragen über Proxys an Apache weiter. Deaktivieren, um Apache nicht mehr zu verwenden" aktiv. Also sollte Apache wohl im Spiel sein.

    Um welche Apache-Version es sich handelt, kann ich nirgends sehen. $_SERVER['SERVER_SOFTWARE'] gibt nur "Apache" aus

    Habe bereits versucht:

    Code
    <RequireAny>
    Require ip *MEINE-IP*
    </RequireAny>
    Code
    <RequireAll>
    Require ip *MEINE-IP*
    </RequireAll>
    Code
    Require ip *MEINE-IP*
    Code
    order deny,allow
    deny from all
    allow from *MEINE-IP*

    Bekomme aber immer nur eine 403/Forbidden-Seite