IIS, IIS8, Programming, Web Server

IIS URL Rewrite – How to Remap Shortname to FQDN

Problems can happen if users enter a Shortname for a site URL instead of the FQDN (Fully Qualified Domain Name). For example if a user types the URL as http://abc instead of http://abc.example.com, then the site certificate can come back as invalid, resulting as an error message or login prompt for the end user. Better to compensate for that by redirecting users to the FQDN if they enter the Shortname by accident.

Out of the box IIS has a feature included that is called URL Rewrite. This was not always the case, and in the past it was a separate download. In Windows 2012 and up URL Rewrite has been included with IIS as a key feature.  

One of the key features of URL Rewrite is the ability to redirect a URL from Shortname to FQDN (Fully Qualified Domain Name). This is very useful to make sure that even if the user enters a Shortname instead of a FQDN URL, the user does not see an error message (or login prompt)

Here are the steps to use URL Rewrite. Note that you can set the same code settings at the IIS server level as well as at the individual site levels. In the case of the individual site levels, you will have to apply the code for each and any that you miss will not have the URL Rewrite logic applied, whereas if you apply the URL rewrite logic at the server level, it will apply to all sites by default. Tests using SharePoint sites in IIS are also good and this logic works quite well.

  1. To start, log into the server and open IIS
  2. Then choose either the Server Name to apply the URL Rewrite rule to all sites or click on an individual site to apply the URL Rewrite rule to just that site.
  3. Then once you have selected the server or the site, click the URL Rewrite tool under the main options:
  4. On the left hand Actions bar click the option to Add a Rule and then as an Inboud Rule type choose Blank Rule:
  5. Enter a unique name that you’d like to use to identify your new rule and then in the section called Match URL enter ^(.*)$ as the regular expression pattern. This basically says to match anything in the URL.
  6. Now here’s the important part where we are going to check if the user has entered the shortname instead of the FQDN. Expand the section called Conditions and click to Add a new condition with the following information:
    1. Set Condition Input to {HTTP_HOST}
    2. Set Dropdown Check if input string to: Does Not Match the Pattern
    3. Set the Pattern to: ^.*\.yoursite\.com
    4. Make sure the Ignore Case option is selected
  7. Finally in the section called Action:
    1. Change the Action Type dropdown to Redirect
    2. Enter the Redirect URL as: http://{HTTP_HOST}.yoursite.com/{R:1}
    3. Change the Redirect Type to Temporary (307).
      NOTE: the Permanent (301) redirect type gets cached in user’s browsers so it can’t be changed without the users flushing their cache, so to be cautious it is best to set the redirect type to Temporary (307)
  8. Finally click the Apply button to add the changes. The URL Rewrite rule should now be in place and enforced by IIS.
Classic ASP, IIS, IIS6, IIS7, IIS8, Internet Explorer, Programming, Software, Web Server

Classic ASP on IIS 8.5: Setting the Configuration to See ASP Error Messages

Classic ASP is still a very good option to develop or prototype simple Web applications with. Sometimes you’ll need to transition a classic ASP application from an older Web server to a more modern one. Basically, the ASP is still good, but the server is out of date and needs to be replaced.

When you upgrade your server, for example going from IIS 6 to IIS 8.5 (Windows 2012), you’ll quickly see that you need to make server configuration changes in order for your application to run like it should. See a previous article on my blog for instructions on how to enable Classic ASP on your new Web server (since it is not enabled by default).

Another issue you may encounter is that your migrated application doesn’t work and you have no idea why because the error messages are hidden. This is good for everyday use of your application by regular users, but it’s not so good if you are trying to debug issues with your application setup on the new Web Server. In this blog post I will explain how to set your system so that you can see the detailed error messages that your classic ASP application is throwing. Of course, once you are done and the application is running well, you should consider re-enabling settings so that regular users aren’t shown detailed application error messages. Continue reading “Classic ASP on IIS 8.5: Setting the Configuration to See ASP Error Messages”