有一个指向 about.html 的链接,但它缺失了——就像在 Meta 上一样:About - Discourse Meta
我是否忽略了某个设置?谢谢!
Discourse 中没有 .html 扩展名。
About - Discourse Meta <— 这是正确的网址
是的,谢谢,但谷歌不知怎么还是找到了一个。![]()
谢谢,但已经安装好了。
它们对许多无效的文件名都返回了 200 响应:
我本来以为这只是内置路由的问题,但 cake day 插件却可以正常工作:
而 knowledge-explorer 在访问以下路径时却返回 404:
但以下路径却没问题:
![]()
一两周前是不是也出现过类似 JS 文件的问题?
嗯,对于这些不寻常的 URL,我们是否应该返回 200 状态码 @eviltrout?
该问题与 Rails 路由的工作方式有关。默认情况下,它允许任何端点指定一个带可选点号的 :format 参数。因此,.html 表示 HTML 格式,.json 表示 JSON 格式。
about.html 等同于 /about(两者都请求 HTML 版本)。然而,Ember 中不存在 about.html 路由,因为我们从未使用带 HTML 扩展名的路由,因此前后端会出现不一致。服务器返回 200 状态码,但客户端随后会报错,提示未找到该资源。
有几种方法可以解决此问题。我们可以优化 Rails 路由,确保其不支持 .html 但继续支持 .json。我目前没看到全局应用此配置的方法,但也许有我尚未了解的方式。
说实话,我对这项工作的热情不高。除非有非常紧迫的理由需要修复,否则我认为我们可以暂时接受这一现状。