renato
(Renato Atilio)
1
首先,这是一个非常特定于我设置(带有 /f 子文件夹)的边缘情况。
汉堡菜单的 Discourse 链接指向 /faq,而没有包含子文件夹,因为 /faq 以 /f 开头。
考虑到这段引用:
我想我们可以将
const found = url.startsWith(baseUri);
改为类似
const found = url === baseUri || url.startsWith(`${baseUri}/`);
的形式。这样它将匹配 /f、/f/ 和 /f/faq,但不会匹配 /faq,从而正确地为后者添加 baseUri 前缀。
无论如何,该路由本身也无法工作,/f/faq 返回 404 错误,因此我认为在路由器层面也存在类似的逻辑。我之前也注意到 /f/following 无法正常工作(cc @merefield)。
最后,我将 faq url 站点设置更改为 /f/guidelines 作为变通方案,这修复了链接和 404 错误,但也产生了一个小怪象:导航栏上同时显示了“指南”和“常见问题”两个术语,它们都指向 faq url 中设置的内容(您可以在实际页面上查看):
抱歉提出了这样一个包罗万象的话题,涉及三个问题,但我认为它们关联紧密,很难将它们完全分开。
谢谢。
2 个赞
renato
(Renato Atilio)
2
我已提交一个 PR 来解决 get-url 问题:
关于 /f/faq 和 /f/favicon/proxied 出现的 404 错误,当我在容器内部绕过 Nginx 直接 CURL 这些路由时,它们可以正常工作。我通过将 Serve Discourse from a subfolder (path prefix) instead of a subdomain 中描述的 location 指令从 location /subfolder 修改为 location /subfolder/ 解决了该问题。
导航栏同时显示“指南”和“常见问题”是 预期行为,用户不太可能将 faq url 覆盖为相同的 URL。
5 个赞
sam
(Sam Saffron)
3
这是否意味着我们可以放心关闭了?
NGINX 问题已修复,并补充了更多文档?
1 个赞