パーマリンク正規化は正規表現(regex)を使ってどのように機能しますか?

設定の管理 > パーマリンク > 設定 に行きました。
パーマリンクのマッチングの前に正規表現を適用すると表示されます。

古い xenForo フォーラムの URL は次のとおりです。
http://localhost/threads/xyz-abc-is-ghp.223846/

新しい Discourse の URL は次のとおりです。
http://localhost/t/xyz-abc-is-ghp/274528

ブラウザで xenForo の URL をスラッグなしで次のように入力すると、問題なくリダイレクトされますが、スラッグがあるとリダイレクトされません。
http://localhost/threads/223846/

そこで、スラッグを削除するために次の正規表現を使用しようとしましたが、何もしていないようです。何か手順を省略していますか、それともこれは正しくない方法ですか?
/^(/threads/)[^.]+.(\d+)/?$/+/\1\2

「いいね!」 1

\\2 は不要です。検索対象のピリオドの前に \\ が必要です。括弧内には1つしかありません。たとえば、次のようになります。

/^(/threads/)[^.]+\\.(\\d+)/?$/threads/\\1
「いいね!」 1

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

これで動作しました

「いいね!」 3

私も同じ状況で、これでうまくいきました!:clinking_beer_mugs:

しかし、URL(XenForoのURL)に「https://website[.]com/threads/thread-slug/page-3」のような内部ページが含まれている場合、「おっと!そのページは存在しないか、非公開です。」というエラーページが再び表示されます。何か修正方法はありますか?

「いいね!」 1

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