簡體   English   中英

使用ASP.NET MVC的Piranha CMS路由問題

[英]Piranha CMS routing issue with ASP.NET MVC

我正在嘗試將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的准則。 讓我澄清一下這個參數的作用。

被動模式是用於應用程序,你需要使用食人魚CMS作為后端內容存儲庫,而不是處理任何路由。 這意味着此參數有效地關閉系統中的所有url到永久鏈接,以免干擾應用程序的現有路由。

如果要將現有應用程序控制器與僅由Piranha CMS生成的頁面混合,則必須將passiveMode設置為false ,這將使永久鏈接的路由再次處於活動狀態。

完成此操作后,您將能夠訪問帶有或不帶無前綴永久鏈接的頁面。

問候

哈坎

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM