高级 Url 提供商和 404 错误页面

Advanced Url Provider and 404 error page

我已经在 DNN 7.4.2 中激活了高级 Url 提供程序和一个 404 错误页面。目前有效。

但是:我从第三层删除了一个页面(也是从回收站),假设Url是http://www.example.org/Level1/Level2/deletedPage - When I enter that Url now, I would expect that the 404 error page is displayed (as it is when I enter http://www.example.org/xxx/yyy/zzz) - but no, the parent page is displayed (http://www.example.org/Level1/Level2),删除页面的Url ,并且在 IIS 日志文件中我找到了一个 http 响应状态 200。

有什么想法吗?

DNNing 快乐! 迈克尔

我认为当您删除一个页面时,该页面的自定义 Url 会被删除,但请检查 TabUrls table 以查看是否有 /Level1/Level2/deletedPage 的条目在那里。

答案很简单。 DNN 将 Url 的其余部分作为模块可以使用的查询字符串参数,并且页面不会 "know" 是否需要。

在此示例中:由于

下没有可用页面
http://www.example.org/Level1/Level2/deletedPage

但是

下面有一个页面
http://www.example.org/Level1/Level2

可能是模块需要或响应查询字符串

?deletedPage

显示为

http://www.example.org/Level1/Level2/deletedPage

由 Url 提供商提供。因此,行为是正确的。在第 1 页末尾和第 2 页开头的 here 章 "DNN pages & 404s" 中可以找到解释。