gpt4 book ai didi

asp.net-mvc - ASP.NET MVC 的 Piranha CMS 路由问题

转载 作者:行者123 更新时间:2023-12-01 19:59:22 28 4
gpt4 key购买 nike

我正在尝试将 Piranha CMS (v2.2.0) 与现有 ASP.NET MVC 应用程序集成。我可以运行所有原始应用程序页面和 CMS 管理器页面。我还可以查看 CMS 管理的页面草稿,但当我尝试查看 CMS 托管的实时页面版本时,我收到 HTTP 404“找不到资源”消息。

因此以下草稿网址有效:

http://localhost:5316/draft/start

但是以下实时网址失败:

http://localhost:5316/home/start

原始应用程序确实有一个“Home” Controller ,我已尝试将其重命名为“Test”以防出现冲突问题。我可以看到新的“测试”定位内容,但/home/start url 仍然失败。

根据建议,我的 RouteConfig 代码是:

routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new[] { "Maps.Portal.Controllers" }
).DataTokens["UseNamespaceFallback"] = false;

我的 web.config 设置是:

<settings>
<managerNamespaces value="" />
<disableManager value="false" />
<passiveMode value="true" />
<prefixlessPermalinks value="false" />
</settings>

我尝试将 prefixlessPermalinks 设置设置为 true,但这没有帮助。

我猜测 Piranha CMS 没有捕获由其自身托管的页面的路由?有什么想法吗?

最佳答案

通过查看您的配置,我可以看到您已遵循为现有项目设置 Piranha CMS 的指南,将 passiveMode 设置为 true。让我澄清一下这个参数的作用。

被动模式用于您想要使用 Piranha CMS 作为后端内容存储而不处理任何路由的应用程序。这意味着该参数有效地关闭系统中所有永久链接的 url,以免干扰应用程序的现有路由。

如果您想将现有的应用程序 Controller 与仅由 Piranha CMS 生成的页面混合,您必须将 passiveMode 设置为 false,这将使永久链接的路由再次处于事件状态。

完成此操作后,您将能够使用或不使用无前缀永久链接来访问您的页面。

问候

哈坎

关于asp.net-mvc - ASP.NET MVC 的 Piranha CMS 路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22316036/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com