I have some forums installed on my site at http://ironnoob.com/forums.
My website lives in c:\IronNoob and my forums are installed in c:\IronNoob\forums
I want both "ironnoob.com" and "www.ironnoob.com" to do a server-side redirect to "ironnoob.com\forums".
I'm using IIS 7 and I'm new to setting up this stuff so I don't even know what to google for. I know I can do a client-side redirect with HTML, but I understand that the server-side redirect is nicer. I've figured out how to install the HttpRedirect module for IIS, but if I set up a redirect in the root folder of my site to my forums folder, I get a circular redirect error when visiting ironnoob.com.
HTTP Redirect Settings:
- root directory selected in Connections pane of ISS
- Check "Redirect requests to this destination"
- destination = http://somesite.com/forums
- Check "redirect all requests to the exact location"
- Check "only redirect requests to content in this directory (not subdirectories)"
- Status code: Permanent (301)
Why is it redirecting subdirectories when I told it not to? What is the right way to do this?
Instead of using the
HTTP redirect
module, you can use theURL rewrite
one.Run the
inetmgr
command and select your website root. Open theURL rewrite
configuration:Click on
Add a rule
on the right panel. Select aBlank rule
in inbound rules:From here you have to name your rule and select the
Does not match the pattern
option. You then have to set thePattern
(in this case, it means that a URL not starting withforums
will trigger this rule):The last step is to set up your redirect. You probably want to go with a 301 redirect as advised by Google:
Click
Apply
on the right panel and you should be good to go.NOTE: If your
Redirect URL
doesn't match yourPattern
you will be stuck in an infinite loop (you can test it by simply clicking theTest
button will writing yourPattern
).Documentation for this module available here