首页 > 解决方案 > 将ip重定向到域名

问题描述

我正在做一个小项目,我将 http://localhost 更改为http://myowndomain.com并且运行良好。我很好奇,给了 facebook.com 的域名。但它会重定向到原始的 Facebook 网站。

我有一个想法,并使用了 apache 规则

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} ^12\.34\.56\.789$
RewriteRule ^(.*)$ http://www.domainname.com/$1 [L,R=301]

在这里,如果我使用 Facebook 代替域名,它将再次重定向到原始站点。

有什么方法可以将我的离线 Facebook 页面(index.html)与我的静态 IP 地址绑定,并且有人输入我的 IP,他们会在域名中获得 facebook.com。

标签: linuxapachednsurl-maskingdomain-masking

解决方案


Sppofing dns 回复是一种过度杀伤力,并且在每台 pc 上修改主机文件很乏味。不知道你的网络也无济于事,但如果我是你,为了实现你想要的,我会使用 bind 和 rpz ( https://www.zytrax.com/books/dns/ ) 或 dnsmaquerade (更简单的解决方案)。

关于你原来的问题,你应该做的是:

  • 确保 myowndomain.com 解析为页面所在服务器的 ip(解析由客户端使用的 DNS 服务器完成)
  • 如果您需要重写规则来重定向流量,首先您需要 2 个虚拟主机:一个处理您要使用的域的请求,一个默认的处理所有其他请求。默认设置是唯一一个您应该设置重写规则以将所有内容重定向到您的主网站的设置。您在默认虚拟主机中需要的规则是这样的:
RewriteEngine On
RewriteCond (.*) http://domainname.com$1 [L,R=301]

请记住“domainname.com”和“www.domainname.com”是不同的域:两者都需要用一个IP地址(可以相同)解析,所以如果你想使用两个域,你必须设置虚拟主机必须配置为处理对域的请求,它应该如下所示:

ServerName domainname.com
ServerAlias www.domainname.com
#ServerAlias *.domainname.com

推荐阅读