加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 06:27:45 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试将Piranha CMS(v2.2.0)与现有的ASP.NET MVC应用程序集成.我可以运行所有原始应用程序页面和CMS管理器页面.我还可以看到由CMS管理的页面草稿,但是当我尝试查看从CMS托管的实时页面版本时,我收到HTTP 404“无法找到资源”消息. 以下草案网址有效: h
我正在尝试将Piranha CMS(v2.2.0)与现有的ASP.NET MVC应用程序集成.我可以运行所有原始应用程序页面和CMS管理器页面.我还可以看到由CMS管理的页面草稿,但是当我尝试查看从CMS托管的实时页面版本时,我收到HTTP 404“无法找到资源”消息.

以下草案网址有效:

http://localhost:5316/draft/start

但是以下的实时网址失败了:

http://localhost:5316/home/start

原始应用程序确实有一个“Home”控制器,我已经尝试将其重命名为“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没有捕捉自己托管的网页的路由?有任何想法吗?

解决方法

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

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

如果要将现有应用程序控制器与仅由Piranha CMS生成的页面混合,则必须将passiveMode设置为false,这将使永久链接的路由再次处于活动状态.

完成此操作后,您将能够访问带有或不带无前缀永久链接的页面.

问候

哈坎

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读