/admin/site_settings/category/all_results で permalink_redirects を検索するということですか? その設定は私には存在しません。
しかし、/^forum\\/(view.*)/\\1 を使用すると、permalink_normalizations がある程度機能します。
- すべての phpBB リンクは
viewで始まります。例えばviewtopic.phpやviewforum.phpです。実際、私たちのケースでは移行された URL はこれら 2 つだけのようですので、正規表現を強化するか、完全なパスマッチングのために 2 つに分割することができます。 - その正規表現(
sed構文)は/forum/viewで始まるすべての URL を取得し、/forum/の部分を削除します。
これで、ウェブサーバー(または私たちの場合は Cloudflare)で /phpbb/ (私たちの古いフォーラムパス)を /forum/ にリダイレクトするだけで、残りは Discourse が処理します。3 年前にこれを見つけていれば、すべてのバックリンクを壊す代わりに済んだのに。![]()
しかし、この permalink_redirects がどこにあるべきか教えていただけますか? プラグインが必要なのか、あるいは phpBB インポートプラグインの一部だったのかなど。
追記:うまく機能しました。
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
最初の /phpbb => /forum のリダイレクトは、私たちのオリジンへの些細な負荷を避けるために、Cloudflare でリダイレクトルールを介して行われます。実際のトピックへの 2 番目のリダイレクトは、phpBB インポートプラグインによって追加されたパーマリンクに一致させるために、パーマリンク正規化を介して先頭の forum/ を削除して Discourse で行われます。このパーマリンクには、古いフォーラムサブディレクトリパスも新しいフォーラムサブディレクトリパスも含まれていません。