linux - 将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。
解决方案
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
推荐阅读
- java - 如何修改我的程序,使用户不需要指定输入长度?
- php - 如何在数组中输出到模板?
- c# - List c#,遍历List来整理数据
- git - 为什么执行 git pull 后出现 SSL 证书错误?
- c - 我正在尝试将此代码拆分为两个 .c 和一个 .h 文件,但该结构没有被另一个 .c 文件访问
- ios - Firebase 插件无法在 IOS(离子)上运行
- mysql - 无法通过python在MYSQL中执行查询
- php - AWS PHP SDK:存储桶加密不起作用
- android - 带有深层链接的 Android 导航组件:onNewIntent 被多次调用
- java - 如何使用健康指标?