Wie funktioniert die Permalink-Normalisierung mit Regex?

Ich bin zu dieser Einstellung gegangen Admin > Permalinks > Einstellungen
Was besagt, dass der Regex angewendet wird, bevor der Permalink abgeglichen wird.

Ich habe eine alte XenForo-Forum-URL, die lautet
http://localhost/threads/xyz-abc-is-ghp.223846/

Und die neue Discourse-URL lautet
http://localhost/t/xyz-abc-is-ghp/274528

Wenn ich die XenForo-URL im Browser ohne den Slug wie folgt eingebe, wird sie ordnungsgemäß umgeleitet, aber nicht mit dem Slug.
http://localhost/threads/223846/

Also habe ich versucht, den folgenden Regex zu verwenden, um den Slug zu entfernen, aber es scheint nichts zu bewirken. Fehlt mir ein Schritt oder ist das nicht der richtige Weg?
/^(/threads/)[^.]+.(\d+)/?$/+/\1\2

1 „Gefällt mir“

Sie brauchen kein \\2. Und Sie brauchen ein \\ vor dem Punkt, nach dem Sie suchen. Sie haben nur eine Sache in Klammern. Vielleicht so etwas wie

/^(/threads/)[^.]+\\.(\\d+)/?$/threads/\\1
1 „Gefällt mir“

/threads\\/[^.]+\\.([0-9]+)\\/?/threads/\\1

das hat funktioniert

3 „Gefällt mir“

Hey, ich bin in der gleichen Situation und das hat für mich funktioniert! :clinking_beer_mugs:

Aber wenn die URL (XenForo-URL) Unterseiten hat, wie zum Beispiel „https://website[.]com/threads/thread-slug/page-3“, dann bekomme ich wieder die Fehlermeldung „Ups! Diese Seite existiert nicht oder ist privat.“ Gibt es dafür eine Lösung?

1 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.