【发布时间】:2016-05-13 19:04:27
【问题描述】:
我创建了一个 Orchard 网站,该网站由许多迷你网站组成,这些迷你网站可通过与当前 [唯一] URL 相关的主题选择进行操作,并由同一个数据库中的当前 [唯一] URL 触发。 它按我希望的那样工作,但我希望改进我的页面的自动路由路径。
目前我正在使用:
{Content.Fields.PageOrderPart.SitesTaxonomy.Terms:0}/{Content.Slug}
结果:
www.site1.com/sitealpha/gallery
www.site2.com/sitebeta/gallery
我想要的是:
www.site1.com/gallery
www.site2.com/gallery
但是,我仍然需要能够区分具有相同名称的页面 [...因此为什么首先创建了上面的自动路由路径] - 否则我显然会遇到永久链接重复错误。
谁能想出一种巧妙的方法来排序,或者是否有一些我可能错过的 Orchard 功能,可能是 url 重写或可能是现有的 MVC 方法?
非常感谢您的意见,PP
进一步的想法(希望这不会影响任何其他成员的建议):
重写规则:对于我拥有的内容量[仍在增加],可能不够动态-我可以看到对现有永久链接的任何更改都是一场真正的噩梦。 此外,由于未知原因 - 我和其他一些 Orchard 用户 - 似乎无法让重写操作起作用?
路由: 老实说,我没有正确使用这些 - 我可以看到捕获和剖析 URL 以规定区域/控制器/动作应该很容易 - 但我不是确定如何重定向到特定的 Orchard 页面?
FilterProvider, IActionFilter:我测试了这个场景 [在代码方面可能会变得相当复杂],但我不确定性能是否可以接受——我的开发系统似乎真的受到任何代码的影响'OnActionExecuting' 方法。
更新:我调查了 IActionFilter 场景,看来我最初的性能担忧是没有根据的 [即在“OnActionExecuting”方法中使用一些 URL 重组代码,全新安装的运行速度并没有变慢]。
我的最后一个障碍是发现为什么 IIS 重写规则不适用于 Orchard: https://stackoverflow.com/questions/35226580/orchard-cms-iis-rewrite-rules-do-not-work-for-rewrite-action-types
【问题讨论】:
标签: asp.net-mvc iis url-rewriting routes orchardcms