您好我想知道在使用event.buildLink时在coldbox / CF9中加载任何页面时是否有办法重新生成URL?
目前,当使用event.buildlink时,我得到http://cawksd05.codandev.local:8080/entries/editor。
但是正确的网址应该添加/index.cfm,如下所示:
/index.cfm/entries/editor
有没有办法设置一次这个设置在哪里,因为我很困惑在哪里为我的所有页面设置这个,以便在我执行event.Buildlink时,/ index.cfm会添加url前缀。< / p>
由于 Faheem
//常规属性 setUniqueURLS(假); setAutoReload(假);
//基本网址 if(len(getSetting('AppMapping'))lte 1){ setBaseURL( “http://#cgi.HTTP_HOST#/index.cfm”); } 其他{ setBaseURL( “http://#cgi.HTTP_HOST#/#getSetting( 'AppMapping')#/ index.cfm”); }
//您的应用程序路由 formatConstraints = {format =“(xml | json)”};
addRoute(图案= “/ API /:格式/任务/完成”,处理器= “tasksAPI”,动作= “列表”,约束= formatConstraints,完成= TRUE); addRoute(图案= “/ API /:格式/任务”,处理程序= “tasksAPI”,动作= “列表”,约束= formatConstraints); addRoute(图案= “/ API /?格式”,处理程序= “tasksAPI”,动作= “无效”);
addRoute(图案= “/任务/列表/:状态如何?”,处理程序= “任务”,动作= “索引”); addRoute(模式= “:处理程序/:动作?”);
答案 0 :(得分:4)
不,setnextevent是应该使用的3.0中唯一的方法,其他的setnextRoute和relocate()现在已被弃用。
如果您对Route.cfm进行了更改,请确保重新初始化应用程序以使更改生效。
index.cfm?fwreinit = 1
如果做出更改,他们通常会忘记重新启动应用程序。
答案 1 :(得分:1)
听起来你需要在/config/Routes.cfm文件中设置baseURL
// Base URL
if( len(getSetting('AppMapping') ) lte 1){
setBaseURL("http://#cgi.HTTP_HOST#/index.cfm");
}
else{
setBaseURL("http://#cgi.HTTP_HOST#/#getSetting('AppMapping')#/index.cfm");
}
VS
// Base URL
if( len(getSetting('AppMapping') ) lte 1){
setBaseURL("http://#cgi.HTTP_HOST#/");
}
else{
setBaseURL("http://#cgi.HTTP_HOST#/#getSetting('AppMapping')#/");
}