Intendi in /admin/site_settings/category/all_results cercare permalink_redirects? Quell’impostazione non esiste per me.
Ma permalink_normalizations funziona in qualche modo, usando /^forum\\/(view.*)/\\1:
- Tutti i link phpBB iniziano con
view, comeviewtopic.phpeviewforum.php. In realtà, questi sembrano essere gli unici due URL migrati nel nostro caso, quindi l’espressione regolare potrebbe essere rafforzata o divisa in due per la corrispondenza del percorso completo. - Quindi, quell’espressione regolare (sintassi
sed) prende tutti gli URL che iniziano con/forum/viewe rimuove la parteforum/.
Ora dobbiamo solo reindirizzare tutti i /phpbb/ (il nostro vecchio percorso del forum) a /forum/ sul webserver (o Cloudflare nel nostro caso) e Discourse farà il resto. Avrei dovuto trovarlo circa 3 anni fa, invece di rompere tutti i backlink
.
Ma fammi sapere dove dovrebbe trovarsi questo permalink_redirects, forse richiede un plugin, o faceva parte del plugin di importazione phpBB o qualcosa del genere?
EDIT: Funziona bene:
root@micha:~# curl -IL https://dietpi.com/phpbb/viewtopic.php?p=46083
HTTP/2 301
location: /forum/viewtopic.php?p=46083
HTTP/2 301
location: https://dietpi.com/forum/t/is-there-a-simple-launch-page-for-dietpi/11237/1
x-discourse-route: permalinks/show
HTTP/2 200
x-discourse-route: topics/show
Il primo reindirizzamento /phpbb => /forum avviene su Cloudflare tramite una regola di reindirizzamento, per tenere un carico banale lontano dal nostro server di origine. Il secondo reindirizzamento all’argomento effettivo viene eseguito su Discourse tramite permalink, rimuovendo la /forum/ iniziale tramite la normalizzazione dei permalink, per corrispondere ai permalink aggiunti dal plugin di importazione phpBB, che non contengono né il vecchio né il nuovo percorso della sottodirectory del forum.