CMS Integration with Existing Sites in IIS
For this setup you will need IIS 8.0 or higher because of the URL rewrites module. In my process of figuring this out I ran into some pretty funny infinite loops so watch out those if you're site is taking a long time to load. Most of this process is just using the URL rewrites, and what we are trying to do is make our application the homepage and have the CMS rest in the back making all links needed point to it. We could easily reverse this setup and make the CMS the homepage, or we could pull data from the CMS into our web application. Making some kind of widget built based on the CMS, which is easy to do if your CMS has an API service already built out.
In this example I make the CMS seat behind my web application and routed the CMS's to a subdomain. There is also a legacy site which will seat next to the CMS on its own sub subdomain. If the url's within each application are relative then there is no need to modify them for this setup.
|Example of URL Rewrites|
To better explain this setup and if you were to think of it in another way, might look something like...
- Main Asp.net Mvc Applicatin - url: " /"
- CMS Site - url: "/0/*"
- Legacy Site - url: "/1/*"
Now for the regular expressions it might look something like...
- Pattern for Root Site - "^$"
- Pattern for Second Site - "0/$|"^0$|^0/Default.aspx*"
- Pattern for Third Site - "1/$|^1$|^1/Home$"
The key here is the regular expressions used and the URL rewrite module which does most of the work. I simply used numbers for the subdomain. I would recommend a little something more meaning if this is going to be your setup. I probably missed a few points in my explanation however I do know that I could repeat if I need to and it's more important to know this kinda of setup is possible.
Scott Forsyth's Blog - IIS URL Rewrite – Hosting multiple domains under one site