102 ColdBox Tips and Tricks by Luis Majano
Domain-Specific Routing with ColdBox!
ColdBox gives you the flexibility to create domain-specific routes, making it perfect for multi-tenant applications or projects that need to respond differently based on the domain or subdomain being accessed. In this tip, we’ll dive into how to use the withDomain()
method to create routes that match specific domains or sub-domains.
Domain-Specific Routing
By using ColdBox's withDomain()
method in your router, you can define routes that match against incoming domains. This is incredibly useful for multi-tenant applications, where each client has its own subdomain, or any project where domain-based routing is needed.
How to Use withDomain()
in Routing
Here’s an example of how you can use domain-based routing in ColdBox:
route( "/" )
.withDomain( ":client.myapp.io" )
.to( "client.show" );
In this case, the :client
placeholder in the domain will be dynamically filled with the subdomain, and the value will automatically be available in the Request Collection (rc).
For example:
- Request URL:
ortus.myapp.io
- rc.client:
ortus
This makes it easy to handle different client subdomains dynamically in your SaaS or multi-tenant application.
Why Use Domain-Specific Routing?
- Multi-tenant Support: Perfect for applicatios where each tenant has a unique subdomain.
- Dynamic Routing: Allows you to dynamically extract domain values and use them in your logic (e.g., to load specific client data).
- Flexibility: The
withDomain()
method supports placeholders and wildcards, giving you total control over how domains are routed.
With ColdBox, creating powerful domain-specific routing is a breeze. This feature makes managing multi-tenant apps or subdomain-based routing much simpler. Try it out in your next project!
Learn More ColdBox Tips and Tricks
Stay tuned for more ColdBox tips in our ongoing series. if you want to learn more than 10 free tips and tricks make sure to get your “ColdBox 102 tips and tricks book” We have a variety of formats you can choose from.
Add Your Comment