将 IP 地址重定向至域名

将 IP 地址重定向至域名

我尝试将我的域的 IP 地址重定向到域名,但遇到了麻烦。IP 地址没有重定向到下面重定向语句中列出的域名。

IP 地址是http://184.168.27.44/

我已经在 web.config 文件中设置了以下规则:

<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>

DNS 设置了以下记录:

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

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

我还遗漏了什么吗?我不确定为什么这不起作用。

我也尝试过解决方案此处提供但重定向仍然没有发生

答案1

您的 web.config 规则是正确的。您遇到的问题是因为您在 Godaddy.com 上使用共享托管计划。将 IP 放入这里返回:

发现有 696 个域名与 184.168.27.44 托管在同一 Web 服务器上

由于您不是该 IP 上托管的唯一站点,因此当浏览器直接访问该 IP 时,服务器不知道要返回哪个站点,因此显示此错误:

您尝试访问的页面不存在于该服务器上...

为了能够通过 IP 直接指向您的网站,您需要专用托管,这会更加昂贵。

如果你没有使用共享 IP,更完整的规则将如下所示(在我自己的具有专用 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>

以上内容与您的和类似Vysakh 的回答,但添加了 appendQueryString 属性。如果您的任何 URL 带有查询字符串(“?”后面的内容),则这是必需的,以便在重定向期间添加查询字符串。

答案2

尝试使用通配符匹配,当您只想匹配一个特定情况而不考虑路径时,无需使用正则表达式匹配。{R:0}将保存对匹配的 URL 的反向引用*(/ 之后的任何内容):

<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>

答案3

尝试这个:

<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>

解释可见这里...

相关内容