Sitecore中的马尔代夫之谜,在不支持的语言上返回404

Sitecore中的马尔代夫之谜,在不支持的语言上返回404,sitecore,Sitecore,我目前正在开发的一个网站正在对301的请求做出响应,而我原本希望它是404 我的站点没有名为DV的内容项,站点中没有与“DV”对应的内容项,我不明白为什么我会看到这一点。我最初是在查看谷歌网站管理员工具时发现这些/DV/url的 然后我用Fiddler分析了请求,发现 Response sent 26 bytes of Cookie data: Set-Cookie: wwwwebsite#lang=DV; path=/ 这似乎与马尔代夫语相对应。我没有启用此语言,并且它不会出现在/s

我目前正在开发的一个网站正在对301的请求做出响应,而我原本希望它是404

我的站点没有名为DV的内容项,站点中没有与“DV”对应的内容项,我不明白为什么我会看到这一点。我最初是在查看谷歌网站管理员工具时发现这些/DV/url的

然后我用Fiddler分析了请求,发现

Response sent 26 bytes of Cookie data:
    Set-Cookie: wwwwebsite#lang=DV; path=/
这似乎与马尔代夫语相对应。我没有启用此语言,并且它不会出现在/system/Languages下

然后我注意到,我还可以导航到我的站点上没有启用的语言,这让我相信,对于每种未启用的语言,我都会得到这样的结果

是否有方法返回404以查找Sitecore中不支持的语言?

尝试查看web.config中的“languageEmbedding”值设置为什么

可以将其设置为:根据需要|始终|从不


我通常会把它设置为“从不”,除非你有一个网站,它是用多种语言设置的,然后把它设置为“总是”。默认值是“asNeeded”,坦白地说,我觉得这有点傻:)

我不认为这实际上与语言有关。如果要添加任何随机字符来代替DV,仍然会得到302重定向到404。也许没有语言cookie

您应该按照此处的说明打开服务器端错误页面重定向


您遇到的问题听起来很像,但我在
LanguageDefinitions.config
中找不到
DV
。我还能够复制您的错误,因此我认为它不是特定于您的实现的环境。建议您联系Sitecore支持。

您是否遇到过此堆栈溢出问题。它可能不适用,但值得一看,以防万一。我也希望从我的页面返回404,但我现在遇到的问题不是它发送302将我重定向到404.aspx页面,而是它将请求的页面显示为200 OK。虽然我的问题有一些相似之处,但在我的情况下,我认为解决办法是屏蔽其他语言。我现在想我可能需要更改我的ItemResolver,但不是很确定。实际上我应该在问题中指定,但我的站点支持两种语言。但不是马尔代夫人/Dhivehi:)如果你把它设置为“从不”,它会改变什么吗?您仍然可以使用“?sc_lang=en”切换语言,但链接不会有域/en/page.aspxasNeeded也让我感到不舒服。。。在接下来的几天里,我会用解决方案更新这个页面。我已经和Sitecore讨论过这个问题,一旦我有了有效的解决方案,我会更新这个问题。只有输入有效的语言代码才会导致这种行为;例如DV、FO、de CH