将我的 Discourse 论坛迁移到新的实例和 URL 后,我需要有关设置域名重定向的帮助。
我希望旧域名的链接重定向到新域名。例如,像 https://olddomain.com/t/topic/89520 这样的链接应重定向到 https://newdomain.com/t/topic/89520。
我听说过使用 301 重定向,但我很难在服务器上找到 Nginx 配置文件目录。任何替代解决方案或指导都将不胜感激。
将我的 Discourse 论坛迁移到新的实例和 URL 后,我需要有关设置域名重定向的帮助。
我希望旧域名的链接重定向到新域名。例如,像 https://olddomain.com/t/topic/89520 这样的链接应重定向到 https://newdomain.com/t/topic/89520。
我听说过使用 301 重定向,但我很难在服务器上找到 Nginx 配置文件目录。任何替代解决方案或指导都将不胜感激。
您好 @Anirudh_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,我认为您最好的办法是编辑帖子,告诉用户点击链接前往其他网站。
您设置了:
谢谢 @RGJ。我该如何处理通用重定向?当前和之前的论坛都在 Discourse 上。
假设您将删除当前论坛,这只是一个普通的 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 而不是迁移的部分。由于您只移动域名,因此不需要永久链接重定向。
我最初也是这么想的,但在 /etc 目录里找不到 nginx 文件夹。是我找错地方了吗?
那是因为那里目前有一个 Discourse 安装,它在容器中有 nginx。
最简单的办法是将旧主机名指向新实例,并在那里处理重定向,请参阅 URL rewrite for domain change in permalinks - #7 by modius
或者,移除 Discourse 安装并在旧实例上设置 nginx。
感谢 @RGJ 的指导。我最终直接从域名提供商那里设置了域名级别的操作,这样就可以了。旧链接已正确重定向到新链接。
这是我用于域名更改后进行完全重定向的方法,我混合了在此论坛上提供的一些解决方案。
在 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 "Beginning of custom commands"
## 如果您想设置第一次注册的“发件人”电子邮件地址,请取消注释并更改:
## 在收到第一封注册电子邮件后,重新注释该行。它只需要运行一次。
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "End of custom commands"
它将把旧链接重定向到新论坛,而不会出现 SSL 问题。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.