Ankündigung

Einklappen
Keine Ankündigung bisher.

URL-Rewrite -> HTTP Status Code

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • URL-Rewrite -> HTTP Status Code

    Hallo,

    ich überarbeite gerade eine Homepage. Der ursprüngliche Programmierer hat für die Website ein selbstentwickeltes CMS verwendet. Soweit so gut.

    Nun habe ich aber ein kleines Problem:
    Um schöne URL's zu erhalten wurde damals ein eigener URL-Rewriter eingebaut, der das Fehlerdokument 404 verwendet.
    Das heißt so viel wie:
    • Beim Zugriff auf index.php wird die Startseite angezeigt (normaler Zugriff).
    • Wird auf eine andere Datei/Pfad zugegriffen, wird das Ganze natürlich auf das Fehlerdokument umgeleitet (ansonsten sind keine Dateien/Ordner in diesem Verzeichnis).
    • Als Fehlerdokument ist in der .htaccess wiederum die Datei index.php definiert
      Code:
      ErrorDocument 404 /index.php?f=404
    • Schlussendlich wird in der index.php überprüft ob es sich wirklich um einen falschen Link handelt (->Ausgabe Fehlerdokument) oder es wird eben der entsprechende Inhalt ausgegeben.
    Das ganze funktioniert für den normalen Benutzer überraschend gut. Aber im Hintergrund wird trotzdem der HTTP Status Code 404 übermittelt.
    Meiner Meinung nach ist aber genau dieser nicht gerade förderlich für Such-Bots wie z.B. jener von Google.

    Kann ich das Senden dieses Status Codes irgendwie vermeiden?

    Mein erster Versuch über
    PHP-Code:
    header("HTTP/1.0 200 OK"); 
    am Anfang der index.php ist leider gescheitert. (Ich habe weiterhin den Statuscode 404 erhalten).

    Danke im Voraus!

    Schöne Grüße
    waelder



  • #2
    Ist das Apache-Modul mod_rewrite verfügbar?
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      [MOD: Verschoben von PHP-Einsteiger]
      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Zitat von rkr Beitrag anzeigen
        Ist das Apache-Modul mod_rewrite verfügbar?

        ja, wäre verfügbar!
        ist es ohne größere Änderung möglich das umzustellen?

        Danke im Voraus

        Kommentar


        • #5
          Du ersetzt einfach die Zeile

          PHP-Code:
          ErrorDocument 404 /index.php?f=404 
          mit

          PHP-Code:
          RewriteEngine On
          RewriteCond 
          %{REQUEST_FILENAME} !-d
          RewriteCond 
          %{REQUEST_FILENAME} !-f
          RewriteRule 
          index.php [L
          Ist seit Jahren Standard. Ich will nicht wissen, wie das CMS von innen aussieht...
          Standards - Best Practices - AwesomePHP - Guideline für WebApps

          Kommentar

          Lädt...
          X