Error 403 bei Zugriff auf Startseite

  • Hallo zusammen,

    ich hoffe, dass meine Frage in dieser Rubrik hier richtig platziert ist. Beim Einrichten einer neuen Website (die im Wesentlichen die Kopie einer laufenden Website ist) stoße ich auf folgendes Phänomen, für das ich aktuell überhaupt keine Erklärung habe. Es geht um den Zugriff auf die Startseite. Die Startseite ist start.html, wobei alle html-Aufrufe auf gleichnamige php-Seiten umgeleitet sind.
    Ein Aufruf https://meine_url/start.html funktioniert und bringt das erwartete Ergebnis, ein Aufruf nur als https://meine_url bringt Fehler 403.
    Wird irgendeine andere Seite in .htaccess als Startseite verwendet, kommt ebenfalls Fehler 403. Es liegt also anscheinend an irgendeiner Konfigurationseinstellung. Nur an welcher?

    Die .htaccess sieht (identisch zu der funktionierenden anderen Website so aus:

    DirectoryIndex start.html

    RewriteEngine on

    RewriteCond %{HTTPS} !=on

    RewriteRule ^ https://%%7bhttp_host%7d%%7brequest_uri} [L,R=301]

    RewriteBase /

    RewriteRule ^(.*)\.html$ /verteiler.php [L]

    ErrorDocument 404 /fehlermeldung-404.php

  • Vielleicht liegt es daran, dass die start.html gar keine real existierende Datei ist?!? Kannst du nicht direkt die start.php stattdessen probieren als DirectoryIndex?

    Edit: Und was hat es mit der "verteiler.php" auf sich?

    Einmal editiert, zuletzt von tab (4. Juni 2025 um 02:00)

  • Hallo Erleuchteter, danke für die Hinweise. Tatsächlich: Auf der Website, wo dieselbe Konfiguration funktioniert, ist noch "aus alten Tagen" eine start.html auf dem Server vorhanden. Zwar leer, aber da! Und die war in der Kopie (neue Website) nicht mehr drin. Das heißt also, der Webserver schaut beim Scannen der htaccess schon nach, ob die als DirectoryIndex angegebene Datei "physikalisch" vorhanden ist und gibt Fehler 403 aus, falls das nicht der Fall ist. Erst danach wird aus der start.html über die html-Umleitung an verteiler.php ein tatsächlicher (funktionierender) Aufruf.

    Also: mit DirectoryIndex start.php funktioniert es und jetzt auch mit DirectoryIndex start.html, nachdem ich eine (leere) start.html hochgelanden habe. Insofern: dank deinem Hinweis Problem gelöst und Ursache verstanden.

    Zu "verteiler.php": Alle Links sind als statische Links (*.html) eingebaut (also "meine-beispielseite.html"). Diese existiert aber nicht. "verteiler.php" schaut als erstes nach, ob die "meine-beispielseite.php" tatsächlich vorhanden ist und ruft diese dann auf (wie bei der Startseite). Falls nicht, wird in der Datenbank nachgeschaut, was für ein Seitentyp bzw. welcher Datensatz dahintersteckt und setzt das entsprechend z.B. in "post.php?id=25" um, ohne dass das in der Adresszeile des Browsers erscheint. Deshalb leitet htaccess alle Aufrufe .html nach verteiler.php um.

    Nochmals danke & schönen Tag!