我正在尝试在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追踪**
如何让main / 404仅在无效页面上运行?
答案 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"}
的路由。我建议将它放在你的通配符之上,并且低于任何其他路线以避免任何怪异的匹配。