我正在使用Umbraco 7.5.2并且我正在尝试设置自定义404页面。
我在同一个Umbraco上托管2个完全不同的网站。


我在后台办公室和umbracoSettings.config中创建了我的页面类型和页面我添加了这个:


 < errors>&# XA; < error404> // errorListFolder / page [@nodeName ='404']< / error404>



 哪个会找到该页面名称404来自errorListFolder下面的类型页面。


但我的两个网站的页面都相同(显示第一个网站上的那个)。如何修复它以在每个站点上显示相关的错误页面?


我已经尝试了


 < error404> $ site // errorListFolder / page [@ nodeName ='404']< / error404>



 但它找不到任何东西,我将最终得到umbraco的基本错误页面


 &# xA;
这是我的结构(为简单起见,我删除了其他节点)


 

感谢Marcin,我可以用Nibble.Umbraco.PageNotFoundManager修复它。这是一个很棒的工具!但我需要提一下,你必须手动设置umbracoSettings.config恢复正常,否则它将无法工作。


我在该文件中有xpath,无论如何我在后台选择的东西,我看不到我的页面。然后我把它改回1,它就像一个魅力:)

答案 0 :(得分:2)
您可以通过 $ root 元素访问特定树。从我们的一个项目中检查我的解决方案:
<error404>
<errorPage culture="pl-PL">$root/homePage[@nodeName='PL']/hTMLContentPage[@nodeName='content not found TERROR - 808']</errorPage>
<errorPage culture="en-US">$root/homePage[@nodeName='EN']/hTMLContentPage[@nodeName='content not found TERROR - 808']</errorPage>
<errorPage culture="default">$root/homePage[@nodeName='PL']/hTMLContentPage[@nodeName='content not found TERROR - 808']</errorPage>
</error404>
如上所示,第一个节点的原始名称为“内容未找到TERROR - 808 ”来自“ homePage ”类型的节点和特定的nodeName。
对于您的场景,您应该尝试由Tim Geyssens制作的 Umbraco Page Not Found Manager :https://our.umbraco.org/projects/backoffice-extensions/umbraco-page-not-found-manager/(uHangout:https://www.youtube.com/watch?v=bFL0xUhRerI)。可能这是你正在寻找的东西。在配置文件中使用基本的error404设置来安排它可能很困难甚至不可能,特别是如果你想保留一些文化依赖404以前加入的树节点。
希望它能帮到你!