3

I am attempting to redirect the IP address of my domain to the domain name and am running into trouble. The IP address does not redirect to the domain name listed in the redirect statement below.

The IP Address is http://184.168.27.44/

I've setup the following rule in my web.config file:

<rule name="IPHit" enabled="true" stopProcessing="false">
   <match url="(.*)" />
   <conditions>
      <add input="{HTTP_HOST}" pattern="^184\.168\.27\.44" />
   </conditions>
   <action type="Redirect" url="http://littlejawsbigsmiles.com/{R:1}" redirectType="Permanent" />
</rule>

The DNS is setup with the following records:

A (HOST) 
------------------------
@ --> 184.168.27.44

CNAME (Alias) 
------------------------
www --> @

Is there anything else that I'm mising? I'm not sure why this isnt working.

I have also tried the solutions provided here but the redirect still does not occur

SwDevMan81
  • 201
  • 1
  • 3
  • 14

3 Answers3

5

Your web.config rule is correct. The problem you're having is because you're on a shared hosting plan at Godaddy.com. Putting the IP in here returns:

Found 696 domains hosted on the same web server as 184.168.27.44

Since you're not the only site hosted on that IP, when a browser comes to the IP directly, the server doesn't know which site to return, so shows this error:

The page you tried to access does not exist on this server...

To be able to point to your site directly by IP, you would need dedicated hosting, which is much more expensive.

If you weren't on a shared IP, a more complete rule would look like this (tested on my own server which has a dedicated IP):

<rule name="IPHit" enabled="true" stopProcessing="false">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="184.168.27.44" />
    </conditions>
    <action type="Redirect" url="http://littlejawsbigsmiles.com/{R:1}" redirectType="Permanent" appendQueryString="true" />
</rule>

The above is similar to your and Vysakh's answers, but adds the appendQueryString property. That's necessary if you have any URLs with a query string (something after a "?"), so that the query string gets added during the redirect.

kevinmicke
  • 411
  • 1
  • 4
  • 16
0

Try it with wildcard matching instead, there's no need to use regex matching when you only want to match one specific case without regard for the path. {R:0} will hold a back-reference to the url matched with * (anything after /):

<rule name="IPHit" enabled="true" patternSyntax="Wildcard" stopProcessing="false">
   <match url="*" />
   <conditions>
      <add input="{HTTP_HOST}" pattern="184.168.27.44" />
   </conditions>
   <action type="Redirect" url="http://littlejawsbigsmiles.com/{R:0}" redirectType="Permanent" />
</rule>
Mathias R. Jessen
  • 24,907
  • 4
  • 62
  • 95
  • Thanks for the answer, I copied and pasted this in and then `Recycle App Pool` in the IIS management, but it still doesnt seem to work. I do have a rule to remove the existing rule if there is one ``. Any other ideas? – SwDevMan81 Feb 21 '14 at 18:23
  • Is 184.168.27.44 the actual address on the interface or is there a NAT device in front of it? – Mathias R. Jessen Feb 21 '14 at 18:30
  • How could I tell? If I use something like `http://www.getip.com/` it shows that as the IP address (this is hosted on godaddy). – SwDevMan81 Feb 21 '14 at 18:34
0

Try this:

<rule name="IP Hit" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="184.168.27.44" />
                </conditions>
                <action type="Redirect" url="http://littlejawsbigsmiles.com/{R:1}" redirectType="Permanent" />
</rule>

Explanation can be seen here...

Vysakh
  • 195
  • 1
  • 7
  • 14