WordPress ベースのフォーラムから Discourse への移行を試みています。
以前の URL は以下の形式でした。
https://example.com/question/questioncontent
一方、Discourse ではトピックが以下の URI で作成されています。
https://example.com/t/questioncontent
そこで、旧フォーラムから新フォーラムへコンテンツ全体をコピーしました。
技術に詳しくないためリスクを避けたいと思い、スクリプトは使わず、18 件の投稿をすべて手動でコピーしました。
さて、私の質問ですが、検索エンジンにインデックスされている旧フォーラムのリンクをどのようにリダイレクトすればよいでしょうか?
パーマリンク機能を使ってリダイレクトを試みましたが、まだリダイレクトがうまくいきません。
何か見落としているのでしょうか?正しい手順について、どなたかご教示いただけますと幸いです。
pfaffman
(Jay Pfaffman)
2
管理者パネルへ → カスタマイズ → パーマリンク。18 の古い URL から新しいトピックへのリダイレクトを作成できます。
試してみましたが、残念ながらリダイレクトされませんでした。
何か助けはありますか?これでは私の場合うまくいきません
fzngagan
(Faizaan Gagan)
5
そのためのプラグインを作成しました。
上記を以下に変更してください:
get '/question/:slug', to: redirect('/t/%{slug}')
pfaffman
(Jay Pfaffman)
7
なぜそうならないのか想像もつきませんが、あなたが何をしたのかについての詳細がなければ判断できません。ただ、プラグインが必要だとも思えません。バージョン18では手動でそれらを作成できますが、パーマリンク正規化を使って一度にすべて処理することも可能かもしれません。
編集:パーマリンクは外部からのリンクには機能しますが、Discourse 内のリンクには機能しません。一般的に行われるのは、投稿内のリンクを書き換えることです。
古いフォーラムのURLをDiscourseのURLにリダイレクトしようとしていますが、なぜかうまくいきません。
確認したいのですが、
例えば、古いURLが 1. forum.example.com/must-read-rules
で、DiscourseのURLが 2. forum.example.com/t/must-read-rules/47
だとしたら、「New field」に 1. を、「destination field」に 2. を入力すればよいのでしょうか?
愚かな質問で申し訳ありません!
pfaffman
(Jay Pfaffman)
9
URL フィールドに must-read-rules と入力し、「トピック ID」を選択したまま、トピック ID フィールドに 47 と入力します。以下のようになります:

カスタマイズオプション内のリダイレクトオプションが機能しません。
どうすれば機能するようにできますか?
Stephen
(Stephen)
11
Discourse 内のコンテンツへの受信リンクをリダイレクトしようとしているのか、それとも Discourse 内のリンク(つまりページ間)をリダイレクトしようとしているのか、どちらでしょうか。
pfaffman
(Jay Pfaffman)
12
その通り!パーマリンクは受信 URL のみで機能します。これが問題の原因でしょう。
@pfaffman @Stephen WordPress から Discourse へ移行中です。古い URL を Discourse が生成した URL にリダイレクトしています。
例: forum.example.com/question/hey を forum.example.com/t/hey に
Stephen
(Stephen)
14
インバウンドリンクはパーマリンク機能によってリダイレクトされます。投稿間の内部リンクは、新しい宛先を反映するように修正する必要があります。パーマリンクのリダイレクトは、そこでは機能しません。
動作させるための可能な方法はありますか?
最初の URL は以前の WordPress フォーラムのもの、2 番目の URL は Discourse のものです。
どのようにして正常にリダイレクトすればよいでしょうか。
コードの編集方法について、ガイドを教えていただけますか?プラグインをインストールしましたが、スラッグを編集する具体的な場所が見つかりませんでした。
そこに複数の URL を追加できますか?
それとも URL の構造のみですか?