Blog

Tip of the Week: ColdBox Routes

Brad Wood November 28, 2012

Spread the word

Brad Wood

November 28, 2012

Spread the word


Share your thoughts

 

Hopefully you are already familiar with the format of a default ColdBox URL when using the SES interceptor.  
 
mysite.com/index.cfm/myHandlerName/myActionName
 
Of course, a simple rewrite rule can simplify that even further to:
 
mysite.com/myHandlerName/myActionName
 
What you may not realize is that URL pattern is called a "route" and not only can be changed, but you can add as many customized routes as your application desires.  The magic happens in your /config/routes.cfm file where all the routes are declared in the order they should be processed.  You'll find the default route in that file:
 
addRoute(pattern=":handler/:action?");
 
The syntax for adding a new custom route looks like this:
 
addRoute(pattern="/URLStringToMatch", handler="handlerName", action="actionName");
 
That means, you could set up a route like so:
 
addRoute(pattern="/blog", handler="entryHandler", action="listEntries");
 
Now, the following two URLs would point to the exact same thing (with the second option being obviously preferable):
 
mysite.com/entryHandler/listEntries
mysite.com/blog
 
You can even clean up URLs that have variables.  Consider the following page on your site:
 
mysite.com/services/products/productDetail/productID/1234
 
Just add a new route that looks like this:
 
addRoute(pattern="/product/:productID", handler="services.products", action="productDetail");
 
And now the following URL will give you the same page:
 
mysite.com/product/1234
 
As you can see, routes are a very powerful way to keep those URLs looking sharp, but we're barely scratching the surface of what you can do.  Don't get intimidated though-- read through the docs dive in!
 
 

Add Your Comment

Recent Entries

Introducing BoxLang Academy – Learn BoxLang from the Creators

Introducing BoxLang Academy – Learn BoxLang from the Creators

Introducing BoxLang Academy – Learn BoxLang from the Creators

At Ortus Solutions, we believe that sharing knowledge fuels innovation. That’s why we’re proud to announce the launch of BoxLang Academy — the official online learning platform for mastering BoxLang, the modern dynamic language for the Java Virtual Machine (JVM), developed by the creators of ColdBox, TestBox<...

Cristobal Escobar
Cristobal Escobar
May 21, 2025
Ortus Monthly Free Webinar – June Edition! 💥

Ortus Monthly Free Webinar – June Edition! 💥

Join us for the June edition of our Ortus Monthly Free Webinar Series, where we explore the power of serverless development using BoxLang and AWS Lambda. Led by Luis Majano, the creator of BoxLang and CEO of Ortus Solutions.

Date: June 18th, 2025 - 11:00 AM (CDT)

  • Location: Online
  • Speaker: Luis Majano

Maria Jose Herrera
Maria Jose Herrera
May 16, 2025
CFCasts, Elevated Experience, Discover What’s New! 🚀

CFCasts, Elevated Experience, Discover What’s New! 🚀

We’re beyond thrilled to unveil the completely redesigned CFCasts platform — a fresh new look, a smarter learning experience, and powerful new features that will take your web development journey to the next level.

Maria Jose Herrera
Maria Jose Herrera
May 15, 2025