ungewollte 301 Weiterleitung

  • Jo,
    hab ne normale .htaccess mod rewrite Weiterleitung:
    RewriteRule ^irgendwas.html$ /blog/?page_id=8

    Wenn ich die Wordpressbenutzerdefinierte Permalinkstruktur abgestellt habe, klappt das auch wunderbar.
    Schalte ich sie allerdings an, bekomme ich einen 404 Error.

    Weiß jemand, wie ich das beheben kann oder was die Ursache dafür ist?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Die Antwort steckt in deinem Beitragstitel. :mrgreen: Du musst einen Redirect 301 auslösen, dann klappt es auch mit aktiven Permalinks

    Apache Configuration
    RewriteRule ... [R=301,L]

    Ach so, die Ursache: in deinem Fall fehlt ohnehin das [L] für "letzte Anweisung", was soviel bedeutet wie: wenn ausgeführt, dann ignoriere alles, was noch kommt. Das bedeutet, die Regel für WordPress wird dann wirksam. Und die nimmt ja alles, was kein existierendes Verzeichnis bzw keine existierende Datei ist und versucht es, als Blogbeitrag zu laden -> Fehler 404.
    In meinem Fall reichte das aber nicht. Ich hing am gleichen Problem. Ich sehe in der Log-Datei noch ab und zu Zugriffe auf uralte HTML-Seiten, die es nicht mehr gibt, die aber als Blogseite noch existieren. Die Weiterleitung nur mit [L] hat auch nur ohne Permalinks funktioniert, mit Permalinks hatte ich auch den 404-Fehler. Die Lösung war in meinem Fall dann das zusätzliche [R=301].

    Einmal editiert, zuletzt von msi (7. Januar 2008 um 07:08)

  • ne, so ganz klappt das nicht.
    Ich möchte halt für meine erstellen Seiten eigene Regeln definieren. Denn die Seiten sollen eine Verzeichnisebene höher angezeigt werden.

    domain/blog/ ist die URL zum Blog
    soll auch ganz normales alles funktionieren:
    domain/blog/kategorie/beitrag.html

    bloß Seiten sollen domain/seite-b-l-a.html haben.

    Bei abgeschalteter Permalinkstruktur funktioniert dies hier auch:

    RewriteRule ^irgendwas.html$ /blog/?page_id=8
    bzw.
    RewriteRule ^$ /blog/?page_id=4
    für die domain/ Seite.

    Mit Permalinkstruktur von Wordpress, auf die ich eigentlich nicht verzichten möchte, funktioniert es allerdings nicht.

    und es ist keines Falls so, dass ich domain/seite-b-l-a.html Weiterleiten möchte, sondern umschreiben. dass in der Adressleiste also immer noch "domain/seite-b-l-a.html" steht.

  • Das kann eigentlich nicht funktionieren, weil WP bei aktiven Permalinks versucht, die gewünschte Seite aus der Request-URI zu ermitteln. Diese ist aber bei transparenter Weiterleitung (also kein HTTP-Redirect) unverändert irgendwas.html. Damit kann dann WP nichts anfangen.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

  • Aber irgendwo muss es doch eine Möglichkeit geben das Verhalten, was du beschrieben hast, für Seiten auszustellen...

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!