Alshain
(Alshain)
1
我已经在 Digital Ocean 上设置好了 Discourse。
我想从 Flarum 重定向到 Discourse,但我找不到 nginx 文件夹。
我在 /etc/ - /usr/ 文件夹中查找过但找不到。是因为使用了 Docker 所以找不到吗?
我可以在管理界面通过正则表达式进行重定向吗?
Flarum:https://testdiscourse.com/d/123123-asdasd
Discourse:https://testdiscourse.com/t/asdasd/123123
我想像上面那样重定向,但我找不到 nginx 文件夹。如果你能帮我,我将不胜感激。
另外,如果你能分享正则表达式代码,我将不胜感激 
pfaffman
(Jay Pfaffman)
2
您是执行了标准安装,还是 flarum 与 Discourse 运行在同一主机上?
您是否使用了 flarum 迁移脚本导入数据?看起来 flarum 脚本并不处理永久链接重定向。我无法想象您建议的重定向如何能奏效,除非您以某种方式使 Discourse 中的主题 ID 与 flarum 中的主题 ID 匹配。
如果您以某种方式做到了这一点,有一个 permalink normalization 站点设置可以实现您建议的功能。它看起来会像这样:
/d\\/(\\d+)-(.*)/t\\/\\2\\/\\1/
但是 asdasd 部分可以用 - 替换,因为路由会忽略 slug。
nginx 位于 docker 容器内。如果您执行以下操作,可以看到它:
cd /var/discourse
./launcher enter app
您在那里所做的更改将在您构建新容器时被销毁。您可以修改 app.yml 来在构建新容器时修改容器内的 nginx 配置。您可以查看 /var/discourse/templates 中的模板作为示例。
2 个赞
Alshain
(Alshain)
3
我使用 ./launcher enter app 命令进入了 Docker。
它在 Nginx 中
对不起,我是新手。
我应该在 Nginx 中配置哪个文件?您对此主题有任何了解吗?
域名等通常会出现在此文件中吗?
Stephen
(Stephen)
4
最佳解决方案是更新迁移脚本,以便为您创建永久链接重定向。
不要直接配置 nginx,因为每次重建容器进行升级时,这些更改都将被销毁。
相反,请按照 @pfaffman 的建议编辑 app.yml 以修改 nginx 配置。
2 个赞
Alshain
(Alshain)
5
我在修改 app.yml,但具体该如何进行重定向呢?
如果您能帮我一下,我将不胜感激。这里有超过 150,000 个问题,我不想一一尝试查找 : (
我以前从未以这种方式重定向过,而且根据我在互联网上的研究,我找不到太多信息。
当我用 rewrite 编写重定向时,我想要的是:
https://testdiscourse.com/d/123123-asda-asdasd-adas
https://testdiscourse.com/t/asda-asdasd-adas
我甚至不需要 123123,该如何实现呢?
Alshain
(Alshain)
7
拥有一个 slug 部分还不够吗?
https://meta.discourse.org/t/redirect-url-with-nginx-in-digital-ocean
例如,当你点击上面的链接时,会打开这个页面。
所以不需要写 235297。
Stephen
(Stephen)
8
https://meta.discourse.org/t/cake/235297/ 占位符不影响重定向 - ID 之前的任何内容都可以\n\nhttps://meta.discourse.org/t/235297/ 甚至可以完全省略占位符\n\nhttps://meta.discourse.org/t/redirect-url-with-nginx-in-digital-ocean/ 这样也可以,但更不稳定
1 个赞
Alshain
(Alshain)
9
由于Flarum中的id值和这里的id值不同,slug值对我来说就足够了。
一个一个地处理15万个问题太糟糕了。我太累了 
Alshain
(Alshain)
11
导入脚本中没有永久链接重定向选项,但
我也是 Ruby 语言和 postgresql 的新手。我很想,但我不能。
Stephen
(Stephen)
12
与手动创建 150,000 个重定向相比,调查并与其他导入脚本进行比较并尝试实现它们几乎肯定会更快。
2 个赞
pfaffman
(Jay Pfaffman)
13
那么您需要修改导入脚本,或者请人修改导入脚本来创建永久链接。您试图做的事情是不可能的。主题 ID 都不同。如果您现在已经有用户在使用社区,那么您要么运气不好,要么需要放弃他们的帖子。
哦。抱歉。import_ids 应该在数据库中。您可以编写一个脚本来创建永久链接。您需要查看一些其他的导入脚本,找一个在导入主题后而不是在导入主题函数中创建重定向的脚本。
3 个赞
pfaffman
(Jay Pfaffman)
15
这是一个示例:
有时,由于各种原因,很难获得正确的 slug。您通常可以使用 permalink_normalizations 做一些巧妙的事情,忽略 slug,只关注永久链接中的 ID。
4 个赞