Discourseフォーラムを新しいインスタンスとURLに移行した後、ドメインリダイレクトの設定についてサポートが必要です。
古いドメインからのリンクを新しいドメインにリダイレクトさせたいと考えています。例えば、https://olddomain.com/t/topic/89520 のようなリンクを https://newdomain.com/t/topic/89520 にリダイレクトさせたいです。
301リダイレクトの使用について耳にしましたが、サーバー上のNginx設定ディレクトリを見つけるのに苦労しています。代替ソリューションやガイダンスがあれば、大いに感謝いたします。
「いいね!」 1
Lilly
( Lilly)
2
@Anirudh_Dutta_Gupta さん、Metaへようこそ

こちらのトピックはもうご覧になりましたか?
@Lillyさん、ありがとうございます。パーマリンクは、ドメイン全体の変更にも対応できるのでしょうか?明確にするために、abc.domain1.com から xyz.domain2.com に移行します。サブドメインとドメインの両方が変更されます。このディスカッションを読んでいたのですが、確認したいことがあります。このディスカッションを読んで確認したいのですが:
既存のDiscourseトピックを外部URLにリダイレクトしようとしていますか?パーマリンクは、そのために設計されていません。/tの下にあるものは何もリダイレクトできないと確信しています。
https://hoidap.cheng.vn/t/cach-cua-do-nu-bao-binh-don-gian/70 2 を訪問した人が https://cunghoangdao.info にリダイレクトされるようにしたい場合、投稿を編集して、他のサイトに移動するにはリンクをクリックするように人々に伝えるのが最善の方法だと思います。
「いいね!」 1
RGJ
(Richard - Communiteq)
4
「いいね!」 3
@RGJ様、ありがとうございます。ジェネリックリダイレクトはどのように行えばよいでしょうか?現在のフォーラムと以前のフォーラムはどちらもDiscourse上にあります。
「いいね!」 1
RGJ
(Richard - Communiteq)
6
現在のフォーラムを削除すると仮定すると、それは通常の Apache または nginx リダイレクトです。
nginx の場合
server {
server_name original.example.com;
location / {
rewrite ^/(.*)$ https://new.example.com/$1 permanent;
}
}
または Apache の場合
RewriteEngine On
RewriteRule ^(.*)$ https://new.example.com/$1 [R=301,L]
Discourse のみを移動し、移行しないという部分を見落としていました。ドメインのみを移動する場合、パーマリンク リダイレクトは必要ありません。
「いいね!」 2
それが当初考えていたことですが、/etc ディレクトリ内の nginx フォルダが見つかりません。どこか間違った場所を探していますか?
RGJ
(Richard - Communiteq)
8
そこには現在Discourseがインストールされており、コンテナ内にnginxがあるためです。
最も簡単な方法は、古いホスト名を新しいインスタンスに向け、そこでリダイレクトを処理することです。URL rewrite for domain change in permalinks - #7 by modius を参照してください。
あるいは、Discourseのインストールを削除し、古いインスタンスにnginxをセットアップすることもできます。
「いいね!」 1
ご指導いただいた @RGJ さん、ありがとうございます。ドメイン名プロバイダーから直接ドメインレベルで設定したところ、うまくいきました。古いリンクは新しいリンクに正しくリダイレクトされています。
「いいね!」 4
Steven
10
ドメイン変更後の完全リダイレクトに使用する方法を以下に示します。このフォーラムで提供されているいくつかのソリューションを組み合わせています。
app.yml の最後に、after_web_config および after_ssl ブロックを追加します。
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
after_web_config:
- replace:
filename: /etc/nginx/nginx.conf
from: /sendfile.+on;/
to: |
server_names_hash_bucket_size 64;
sendfile on;
- file:
path: /etc/nginx/conf.d/discourse_redirect_1.conf
contents: |
server {
listen 80;
listen 443 ssl;
server_name old-domain.com;
return 301 $scheme://new-domain.com$request_uri;
}
after_ssl:
- replace:
filename: "/etc/runit/1.d/letsencrypt"
from: /--keylength/
to: "-d old-domain.com --keylength"
## ビルド後に実行するカスタムコマンド
run:
- exec: echo "カスタムコマンドの開始"
## 最初の登録の「From」メールアドレスを設定したい場合は、コメントを解除して変更してください。
## 最初のサインアップメールを受信したら、行を再コメントしてください。一度だけ実行する必要があります。
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "カスタムコマンドの終了"
これにより、SSL 問題なしに、古いリンクが新しいフォーラムにリダイレクトされます。
「いいね!」 4
system
(system)
クローズされました:
11
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.