I'm going to do a big upgrade to an existing website which is already live. While doing this I would like to take the website offline because otherwise people might run into unfinished pages. What is the best way to show an "under construction" page?
So far I have 2 options.
1 Unpublish all the pages and create a under contrustion page which is the only published page. Everyone will get on this page. Once I'm done with everything I'll publish it again.
2 Modify the existing "No pages found" page to show a nice message for the user. I think I only need to remove the version number from the web.config to show this page.
I think option 2 is the is easiest, but does anyone have a better solution?
Point the current domain (www.mysite.com) to a different site in IIS with the "under construction" page on it.
Add a new binding to the current IIS site (temp.mysite.com) and put it in your hosts file (or DNS, but that takes a while). Do all the upgrades and stuff on the temp domain.
If you have a multisite, obviously you'll have to do this for all the domain names so that might not be very practical.
Use courier to create a revision of all content on staging site
Transfer revision to production environment
Delete all content in production and apply courier revision
This would hopefully mean there's only a very short period with no content on the site, but I would probably test how long it takes to delete content and apply courier revision in staging before doing it in production.
Back then I was using ISAPI_Rewrite for the conditions/rules, (this was before I had IIS7 at my disposal), but you should be able to apply the same principles to IIS7/Web.config <rewrite> rules?
Under construction page
Hello,
I'm going to do a big upgrade to an existing website which is already live. While doing this I would like to take the website offline because otherwise people might run into unfinished pages. What is the best way to show an "under construction" page?
So far I have 2 options.
1 Unpublish all the pages and create a under contrustion page which is the only published page. Everyone will get on this page. Once I'm done with everything I'll publish it again.
2 Modify the existing "No pages found" page to show a nice message for the user. I think I only need to remove the version number from the web.config to show this page.
I think option 2 is the is easiest, but does anyone have a better solution?
Jeroen
Point the current domain (www.mysite.com) to a different site in IIS with the "under construction" page on it.
Add a new binding to the current IIS site (temp.mysite.com) and put it in your hosts file (or DNS, but that takes a while). Do all the upgrades and stuff on the temp domain.
If you have a multisite, obviously you'll have to do this for all the domain names so that might not be very practical.
My take:
Copy website to staging env.
Make all necessary changes in staging env.
Use courier to create a revision of all content on staging site
Transfer revision to production environment
Delete all content in production and apply courier revision
This would hopefully mean there's only a very short period with no content on the site, but I would probably test how long it takes to delete content and apply courier revision in staging before doing it in production.
Regards Jesper Hauge
@Sebastiaan Great suggestion. This way I can see my changes while the users get's to see under construction page.
@Jesper We are using a lot of custom datatypes and custom tables so using Courier is not an option.
Jeroen
You could try using the app_offline file for IIS, but I'm not sure if you can still view the site (you might be able to do it locally on the server, not 100%): http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx
Hi Jeroen,
I wrote a blog post about this a while ago: http://blog.leekelleher.com/2009/09/29/putting-your-asp-net-web-application-in-maintenance-mode-using-isapi_rewrite/
Back then I was using ISAPI_Rewrite for the conditions/rules, (this was before I had IIS7 at my disposal), but you should be able to apply the same principles to IIS7/Web.config <rewrite> rules?
Cheers, Lee.
is working on a reply...