Come funziona la normalizzazione dei permalink con regex?

Sono andato a questa impostazione Admin > Permalink > Impostazioni
Che dice che applicherà la regex prima di corrispondere al permalink.

Ho un vecchio URL del forum xenforo che è
http://localhost/threads/xyz-abc-is-ghp.223846/

E il nuovo URL di discourse è
http://localhost/t/xyz-abc-is-ghp/274528

Quando inserisco l’URL xenforo nel browser senza lo slug come segue, viene reindirizzato correttamente, ma non con esso.
http://localhost/threads/223846/

Quindi ho provato a usare la seguente regex per rimuovere lo slug, ma sembra non fare nulla. Mi manca un passaggio o non è così che si fa?
/^(/threads/)[^.]+.(\d+)/?$/+/\1\2

1 Mi Piace

Non hai bisogno di un \\2. E hai bisogno di un \\ prima del punto che stai cercando. Hai solo una cosa tra parentesi. Forse qualcosa come

/^(/threads/)[^.]+\\.(\\d+)/?$/threads/\\1
1 Mi Piace

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

questo ha funzionato

3 Mi Piace

Ehi, sono nella stessa situazione e questo ha funzionato per me! :clinking_beer_mugs:

Ma quando l’URL (URL di xenforo) ha pagine interne come ad esempio “https://website[.]com/threads/thread-slug/page-3” allora di nuovo otterrò la pagina di errore “Ops! Quella pagina non esiste o è privata.” C’è una soluzione per questo?

1 Mi Piace

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