【问题标题】:Orchard CMS - How to redirect URL request?Orchard CMS - 如何重定向 URL 请求?
【发布时间】: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


    【解决方案1】:

    多租户可能是您所追求的功能。您可以拥有一个代码、一个数据库,但它们都是完全独立的站点。所以分开管理区域等。

    http://docs.orchardproject.net/Documentation/Setting-up-a-multi-tenant-orchard-site

    【讨论】:

    • 谢谢 Hazza,多租户会很棒-但由于您的最后一点[单独的管理员控制],我避免了它-我需要从一个管理员访问我的所有内容,我可以通过这个来完成方法; '这是最好的方法吗,我不确定,但它有效';)我在我的帖子中添加了一些进一步的想法。
    • 可以使用路由吗?作为无论出于何种原因 - 我无法让 IIS Rewrite [重写类型] 规则在 Orchard 中正常运行,尽管它们在普通 MVC 应用程序中工作 - 因此,它使我的 IActionFilter 无用?虽然我不知道如何通过 Routes 为我的页面拦截/更改/重新发送 URL 请求 - 例如,一切都是动态的 - 如何使用不存在的模块的区域/操作更新路由表?谢谢PP
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    相关资源
    最近更新 更多