[英]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.