DotNetNuke URL重写

时间:2014-04-13 12:24:03

标签: url-rewriting dotnetnuke

我有一个名为menu的页面,该页面的url是mysite.com/menu。

我希望菜单页面上的模块根据此网址加载内容... mysite.com/menu/starters其中'starters'是内容过滤器。

所以,我已将此添加到我的siteurls.config文件中......

<RewriterRule>
    <LookFor>.*/menu/([a-zA-Z0-9_-]+)</LookFor>
    <SendTo>/menu</SendTo>
</RewriterRule>

...当我在菜单页面的模块中运行此代码时确实......

Dim url As String = Request.RawUrl
If url.Contains("menu/pig-skin") Then
    txtField.Text = "pig-skin has been selected"
Else
    txtField.Text = "No extra url parts."
End If

......满足条件并且'猪皮被选中'显示。

所以一切正常。除了,当我从siteurls.config文件中退出时,清除现金然后重新启动应用程序,一切运行完全相同。我希望它抛出一个页面无法找到错误。为什么它仍然有效?

我甚至不确定我是否正确地这样做了。如果我的代码甚至没有关闭,我该如何实现?

感谢您抽出宝贵时间。

1 个答案:

答案 0 :(得分:0)

你真的应该看一下模块的URL Provider模块,假设你正在使用DNN 7.1+(我建议至少7.2.1,如果不是7.2.2)

否则DNN只是加载它知道的页面,其余的URL基本上被忽略了。

编辑:现在最好的阅读材料可能是:http://www.dnnsoftware.com/blog/cid/154604/introducing-dnn-extension-url-providers