¿Cómo funciona la normalización de enlaces permanentes con expresiones regulares?

Fui a esta configuración Administrador > Enlaces permanentes > Ajustes
Que dice que aplicará la expresión regular antes de hacer coincidir el enlace permanente.

Tengo una URL antigua del foro de xenforo que es
http://localhost/threads/xyz-abc-is-ghp.223846/

Y la nueva URL de discourse es
http://localhost/t/xyz-abc-is-ghp/274528

Cuando introduzco la URL de xenforo en el navegador sin el slug como el siguiente, se redirige bien, pero no con él.
http://localhost/threads/223846/

Así que intenté usar la siguiente expresión regular para eliminar el slug, pero parece que no hace nada. ¿Me falta algún paso o no es así como se hace?
/^(/threads/)[^.]+.(\d+)/?$/+/\1\2

1 me gusta

No necesitas un \\2. Y necesitas una \\ antes del punto que estás buscando. Solo tienes una cosa entre paréntesis. Quizás algo como

/^(/threads/)[^.]+\\.(\\d+)/?$/threads/\\1
1 me gusta

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

esto funcionó

3 Me gusta

¡Hola! Estoy en la misma situación y esto me funcionó. :clinking_beer_mugs:

Pero cuando la URL (URL de xenforo) tiene páginas internas, como por ejemplo “https://website[.]com/threads/thread-slug/page-3”, entonces vuelvo a obtener la página de error “¡Uy! Esa página no existe o es privada”. ¿Alguna solución?

1 me gusta

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