Override the default page route handling
Overview
By default Sitefinity uses a single route - FrontendRoute
to serve all of its frontend pages. The page is resolved by parsing the URL segments from the request and finding the page in the hierarchy that matches the specified UrlName
.
If you want to modify the behavior of how those URLs are resolved and what they resolve to, you can extend the SitefinityRoute
class and implement your custom logic there.
NOTE: If you want a specific URL to be resolved to something else, we recommend using the URL rewrite module or just basic HTTP redirects. The following example is for advanced purposes where the these methods are not applicable.
Procedure
Perform the following:
- In Visual Studio create a new class named
CustomSitefinityRoute
that inherits from Telerik.Sitefinity.Web.SitefinityRoute
.
- Implement your custom logic for resolving the current page that will process the request.
- Register the
CustomSitefinityRoute
object with Sitefinity by using the ObjectFactory
class.
Following are two example implementations for the SitefinityRoute
class:
- The first example demonstrates how to serve other pages instead of the requested ones.
- The second example demonstrates how you can replace the URL to serve a page from the file system and not a Sitefinity based one.