[Apache] Zugriffsverwaltung in .htaccess nicht möglich

Hinweis: In dem Thema [Apache] Zugriffsverwaltung in .htaccess nicht möglich gibt es 5 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Sehr geehrte Community,


    ich beiße mir bereits seid einigen Stunden daran aus, eine funktionierende .htaccess Datei zu erstellen, die mit Ausnahme von wenigen Dateien und Ordnern, den Zugriff auf alle Dateien verbietet.


    Doch immer, wenn ich auch nur Allow from all in meine .htaccess Datei in einem direkten Unterverzeichnis meines Stammordners /srv/www/htdocs/ schreibe, gibt er nur noch "Server error!" aus. Im Anhang sende ich ihnen meine aktuelle httpd.conf und default-server.conf mit.


    Mein System:


    Wenn Sie mir da weiterhelfen können, wären ich Ihnen sehr dankbar!


    li2vi

  • Ich hab auch einen Apache2 als Webserver laufen. Bei mir sind die Daten des Webservers aber in /srv/www/vhost/igel01 abgelegt, weil ich meine(n) Webserver als Virtualhost definiert habe. Damit ich vernünftig meine Webseite testen konnte/kann, will ich sie nicht als http://localhost:80 sondern als http://igel01:80 aufrufen können.


    Es könnte evtl sein, dass sich Einträge in <Directory> in der default-server.conf mit Einträgen in deiner .htaccess beissen.


    Ich hab im Netz folgende Seite gefunden, vielleicht helfen dir diese Infos weiter:
    https://www.hagenfragen.de/lin…server-configuration.html

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 292734 haftet ausdrücklich der jeweilige Autor: Igel1954

  • Nachtrag:

    Schau dir mal die Berechtigungen und Eigentümer des Files .htaccess an. Das könnte auch eine Fehlerursache sein.

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 292736 haftet ausdrücklich der jeweilige Autor: Igel1954

  • Hallo,


    danke für die Antwort. Es lag nicht an den Dateiberechtigungen, sondern an der Syntax. In Apache 2.4 kann die "Allow from all" Syntax nur noch mit einem bestimmten Modul genutzt werden. Stattdessen gibt es die neue Syntax "Require all granted" etc. mit der es funktioniert.


    Allerdings zeigt er jetzt einen "403 Forbidden" Error aus, wenn ich nur das Verzeichnis aufrufe. Eigentlich sollte er dabei anhand des DirectoryIndex auf index.php weiterleiten, dessen Zugriff erlaubt ist. Ich kann nur noch index.php direkt eingeben, wie kann ich das ändern, ohne den Zugriff auf den ganzen Pfad zu erlauben?


    Grüße

    Für den Inhalt des Beitrages 292743 haftet ausdrücklich der jeweilige Autor: li2vi

  • EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 292748 haftet ausdrücklich der jeweilige Autor: Igel1954

  • Ich hatte jetzt gerade etwas Zeit, um auf einem anderen Webserver (mit einer Wordpress-Webseite) die dortige .htaccess anzuschauen.


    Ich hab mal den, so denke ich, interessanten Teil kopiert:


    Apache Configuration
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    Ob die Anweisung <IfModule ....> notwendig ist und ob du alle Einträge benötigst, kann ich dir aber nicht mit Sicherheit sagen.

    Die Verwendung von .htaccess kostet aber zusätzliche Ressourcen auf dem Webserver. wenn man direkten Zugriff auf den Server mit dem Indianer hat, soll es günstiger sein, die Angaben statt in eine .htaccess besser die httpd.conf zu legen. (Letzter Link in Post #5)

    EDV-Dinosaurier im Ruhestand


    ich bin /root, ich darf das 8)


    Dinos are not dead. They are alive and well and living in data centers all around you. They speak in tongues and work strange magics with computers. Beware the Dino! And just in case you're waiting for the final demise of these Dino’s: remember that Dino’s ruled the world for 155-million years! (Unknown Author)

    Für den Inhalt des Beitrages 292753 haftet ausdrücklich der jeweilige Autor: Igel1954