Manuelle Permalinks mit / vergeben

  • Hallo zusammen,

    ich bin gerade dabei eine Website auf WP aufzubauen, die bereits unter einem anderen CMS läuft. Logischerweise möchte ich die URLs alle so übernehmen wie sie jetzt sind. Leider sind einige davon aufgrund jahrelangem "Rumgebastel" recht komplex, in etwa so:

    "derblog.de/bla/blabla/text/blablabla/unsinn/darumgehtswirklich/"

    Da WP standardmäßig bei der manuellen Vergabe von Permalinks keinen / akzeptiert muss ich nun entweder ganz viele Dummyseiten erstellen (die leer wären, weil sie im ursprünglichen Projekt schon lange nicht mehr existieren), nur um auf die URL zu kommen oder ich überzeuge WP davon, den / doch zu akzeptieren. Gibts dafür denn eine Möglichkeit? Geht bei anderen CMS ja auch.

    Würde mein Projekt enorm erleichtern ...

    • 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

  • Und warum möchtest du diese unsäglichen URLs beibehalten? Wenn es darum geht, dass User, die sie sich vielleicht gebookmarkt haben, zum richtigen Ziel gelangen, könnten Redirects zielführender sein.

  • Bei diesem speziellen Projekt muss es eben so sein. Bitte jetzt keine Grundsatzdiskussion über den Aufbau von URLs ... :)

  • Bitte jetzt keine Grundsatzdiskussion über den Aufbau von URLs ... :)


    Nee aber vielleicht eine Diskussion über Verzeichnisstrukturen und Rewrite-Regeln?
    Das gehört nun einmal nicht zum Dateinamen, sondern entspricht den Verzeichnisebenen:

    Code
    /bla/blabla/text/blablabla/unsinn/

    Einmal editiert, zuletzt von Melewo (4. Februar 2014 um 15:40)

  • Das ist mir schon klar, dass das eigentlich Verzeichnisebenen sind. Nur in diesem Fall möchte ich diese Ebenen halt nicht anlegen sondern nur simulieren. Ich kenne das z.B. von Typo3, dort lässt sich die gewünschte URL komplett manuell vergeben. Wäre halt toll, wenn man das mit WP auch hinbekommen würde.

    Zitat

    Nee aber vielleicht eine Diskussion über Verzeichnisstrukturen und Rewrite-Regeln?

    Nein, auch nicht darüber

  • Ich könnte mir das nur so vorstellen, dass Du eine Regel für WP-Rewrite schreibst, die der WP-Rewrite erklärt, dass es sich bei den Verzeichnissen um keine Verzeichnisse, sondern nur um Parameter handelt, die am Ende nicht verwendet werden.

    Hatte mal ein Beispiel mit WP-Rewrite geschrieben, der letzte Teil vom letzten Listing auf dieser Seite, es war aber genau umgekehrt, der Parameter sollte aussehen wie ein Beitragsname:

    http://forum.wpde.org/konfiguration/…r-einbauen.html

    Als problematisch erwies es sich für die Rewrite-Regeln, wenn im Wert ein / Schrägstrich enthalten ist. In diesen Fällen finde ich es bisher einfacher, den zu Wert zu splitten und auf zwei Parameter aufzuteilen.

    Das war die Lösung bei diesem Beispiel, einfach splitten und aufteilen.

    Einmal editiert, zuletzt von Melewo (4. Februar 2014 um 17:03)

  • Habe es mal getestet, ist einfacher als ich dachte.

    Eine vorhandene Beitragsseite:

    "http://localhost/wordpress/gesuchte-angebote-einholen/"

    Eine nicht vorhandene URL im Browser aufgerufen:

    "http://localhost/wordpress/drei…ebote-einholen/"

    Und für diese nicht vorhandene wird nun die vorhandene ausgelöst und nicht weitergeleitet wie bei einem Redirect. Irgendein Teilmuster muss aber für einen Abgleich gut sein, um keine vorhandenen versehentlich umzuschreiben.

    Also, das kann WP genauso gut wie andere CMS erledigen. Es könnte aber sein, das WP langsamer wird, falls es zu viele sein sollten, dann wäre die htaccess mit Redirects besser geeignet.

    Einmal editiert, zuletzt von Melewo (4. Februar 2014 um 18:27)

  • Hätte noch erwähnen sollen, die Ausdrücke müssen selbstverständlich passen, die [COLOR=#000000][COLOR=#DD0000]$matches[3] die [/COLOR][/COLOR]richtige (Klammer) enthalten, im Beispiel die dritte und [COLOR=#000000][COLOR=#0000BB]flush_rules[/COLOR][COLOR=#007700]()[/COLOR][/COLOR] sollte nur für Tests verwendet werden, um die Rules zu aktualisieren.

Jetzt mitmachen!

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