在FW / 1中使用通配符路由匹配

时间:2016-01-11 18:14:36

标签: coldfusion fw1

我正在尝试在FW / 1 v 3.5中的路由上使用通配符匹配。

的Application.cfc

component  extends="framework.one"  {

  this.name= "Wildcard7";

  variables.framework = {
    home = 'main.home',
    action = 'fuseaction',
    baseURL = 'useCgiScriptName',
    trace = isDebugMode()
    };

  variables.framework.routes = [
    { "main/home"               = "main/home"},
    { "*"                       = "main/404"}
  ];

}

当我运行页面时,没有指定操作,我得到主/ 404页面而不是main / home

** FW / 1追踪**

enter image description here

如何让main / 404仅在无效页面上运行?

1 个答案:

答案 0 :(得分:1)

  

当我运行页面时,没有指定操作,我得到主/ 404页面而不是main / home

我假设你正试图访问这样的页面 - your.domain/index.cfm/main请注意缺少home操作。

根据您的路线,您的第一条路线是说提供的路径是否等于" main / home"然后指向视图main/home。如果home控制器中存在main.cfc的操作,则会在呈现视图之前运行该操作。

离开行动home,与您当前的任何路线都不匹配;导致你的通配符捕获它。您需要通过包含{"main" = "main"}等其他路线来处理它。

<强>更新

要从main/home访问your.domain/index.cfm,您可以尝试传递{"/" = "main/home"}的路由。我建议将它放在你的通配符之上,并且低于任何其他路线以避免任何怪异的匹配。