Permalinks im laufenden Betrieb anpassen

  • Hallo zusammen,

    in meinem Blog sind die Permalinks wie folgt: domain.tld/index.php/%category%/%postname%/
    Ich würde aber gerne das index.php wegbekommen. Einfach wegnehmen geht ja
    nicht, da dadurch die Linkstruktur nicht mehr die selbe wäre und Google
    wahrscheinlich meckert. Über htaccess einen 301 zu senden klappt auch nicht,
    denn wenn ich es einfach ändere, bekomme ich lediglich 404 ausgeworfen.

    Was kann ich tun?

    Gruß
    Wishu

    • 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

  • Zuerst solltest Du mal sicherstellen, dass Dein Server die Voraussetzungen für die normalen Permalinks mitbringt. Die Permalink-Struktur mit index.php hast Du Dir ja vermutlich irgendwann mal aus einem Grund rausgesucht, und üblicherweise wird die benutzt, wenn der Server die normalen Permalinks nicht kann.

    Wenn das technisch geht, sollte es kein Problem sein, alle Links mit dem index.php auf den Link ohne umzubiegen per .htaccess.

  • Hm, mal sehen... Zuerst mal wäre ein Backup sicher eine gute Idee, für alle Fälle.

    Dann die Permalinkstruktur wie gewünscht umstellen und speichern. Das sollte die .htaccess erneuern, falls sie schreibbar ist, ansonsten müsstest Du die Änderungen da manuell eintragen. Dann sollte die Seite schon mal mit den neuen Links funktionieren.

    Falls Du Deine eigenen Beiträge gelegentlich verlinkst und dafür die volle URL nutzt, müsstest Du das entweder in den betroffenen Beiträgen oder direkt in der Datenbank ändern. Ok, Du musst nicht, aber es wäre besser. Es gibt auch ein Plugin, mit dem man Sachen in der Datenbank ersetzen kann, glaube ich.

    Und dann als letzter Schritt: Dafür sorgen, dass die alten Links nicht ins 404 laufen. Das folgende sollte in der .htacces *über* den WordPress-Block (damit nicht vorher schon die WP-404 zuschlägt). Achtung: Ist ungetestet und ich bin auch kein Guru mit .htaccess-Umleitungen! Die RewriteBase müsstest Du ggf. so anpassen, wie sie in der .htaccess bei Dir schon steht.

    Apache Configuration
    # BEGIN Umleitung
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^/index.php/(\.)$ /$1 [R=301,L]
    </IfModule>
    # END Umleitung

Jetzt mitmachen!

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