我试图通过域名解析系统将一个域名重定向到另一个域名。
我知道使用 INCNAME 是可能的。
www.proof.com IN CNAME www.proof-two.com.
我需要的是一个路径重定向。当有人键入 www.proof.com,它应该带他们到 www.proof-two.com/path/index.htm
www.proof.com
www.proof-two.com/path/index.htm
我知道它可以做到使用 Web 服务器设施,但我需要 DNS 重定向。
这可能吗?
不,你的要求是不可能的。 DNS 是名称解析系统,对 HTTP 一无所知。
DNS 不会重定向 URL 的路径部分,所以这是不可能的。
添加
www.proof.com IN CNAME www.proof-two.com
将直接访问 www.prov.com 的 www.proof-two.com ,在那里你需要使用 web 服务器配置来引导用户访问合适的页面。
我知道这是一个老线程,但 FWIW,如果有人正在寻找一个方法来做到这一点。
虽然 dns 不理解 url 的路径部分,但它会理解子域,所以不用:
翻译: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇
你可以用:
然后访问任何一个你主持的 proof-two.com 网站,把它设置为指向 proof.proof-two.com 的 www.proof-two.com/path/index.htm。
~ 总有不止一种方法来剥猫的皮
我假设你有这样一个场景: 你有一个独特的网站服务器托管各种网站,每一个应该是由一个单独的域名:
因此,页面1.html 应该由 Www.customer1.com等服务。
在 Example.com dns 服务器(你的 webserver)中创建一个子域:
Customer1.example.com
在 apache 虚拟服务器设置中,将子域映射到包含客户 # 1网站的目录,如下所示:
< VirtualHost * : 80 > SetEnv PAGE _ ID“ customer1” 服务器名称 customer1.example.com 服务器别名 www.customer1.com DocumentRoot/your/local/path/webserver/customer1 请注意“ ServerAlias”的值,这对下一步很重要-
< VirtualHost * : 80 > SetEnv PAGE _ ID“ customer1” 服务器名称 customer1.example.com 服务器别名 www.customer1.com DocumentRoot/your/local/path/webserver/customer1
此时,你应该可以通过浏览以下网址来浏览你的客户1网站:
CNAME = www 地点 = customer1.example.com
现在,您可以使用: www.customer1.com。
我有个私人项目可能会帮你解决这个问题。 这是一个开源重定向解决方案,允许您重定向您的域只需更改您的 DNS 设置。项目链接: https://redirect.center/。
为了重定向到保持网址参数不变的网站,只需要设置你的网站域名解析 www.proof-two.com (www DNS)条目:
翻译: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对:。
如果使用 AWS,则重定向为
mail.foo.com --> mail.google.com/a/foo.com
可设定如下:
不是一个纯粹的 DNS 解决方案,但它的工作;)
但是请注意,重定向会跳过所有 URL 参数,例如: ... ? param1 = value1 & param2 = value2
要回答最初的问题,不,你想要的不可能只使用 DNS (如每个人都说)。除了已经提到的所有内容之外,另一种选择是使用 URL 重定向服务。这些类型的服务可以使您根据需要配置许多不同类型的 URL 重定向。例如:
执行此操作的服务是 EasyRedir。全面披露: 我开发了 EasyRedir。当然还有其他的选择,所以我鼓励你四处看看。
一些提供商允许这样做,但是没有“纯粹”的 DNS 解决方案,因为 DNS 不知道任何关于您正在使用的协议,重定向是 HTTP 的一个特性。
对于 OVH ,参见: < a href = “ https://docs.OVH.com/gb/en/domain/redirect-domain-name/”rel = “ nofollow noReferrer”> https://docs.OVH.com/gb/en/domains/redirect-domain-name/
您必须使用控制面板来添加您的重定向。它将相应地更新您的 DNS 区域。
让我们假设您创建了一个从 foo.bar.com到 foo2.bar.com/path的重定向。OVH 保留 URL 路径和参数。因此,如果您尝试访问 foo.bar.com/hello?foo=bar,您将被重定向到 foo2.bar.com/path/hello?foo=bar。
foo.bar.com
foo2.bar.com/path
foo.bar.com/hello?foo=bar
foo2.bar.com/path/hello?foo=bar
当然,可以通过以下技巧进行重定向:
创建一个新的标准主区域 将其命名为要重定向到的虚拟 URL 确保此虚拟名称不同于任何 ADDNS 名称 创建一个包含以下条目的记录:
Blank.......................A............................ip-addr-2
Www.........................A............................ip-addr-2
本质上,我们这里有的是重定向。有效的 URL 将基于现有的 DNS 主 DNS 区域进行解析。一个虚构的 URL 将被重定向到 ip-addr-2。重要的是这个条目的名称是空白的,因此它将落到记录中的下一个条目并重定向到 ip-addr-2
每个人都已经说过了,我只是想给你另一个选择,一个可以帮助你的服务。Www.301redirect.it是一个免费的服务,它可以将您的域(使用通配符)重定向到任何目标 URL。
我还想补充一点: 我是这项服务背后的开发人员,还有其他的选择。
我对这个问题的解决方案非常简单直接。您所需要的只是在域内运行的 IIS 服务器。
在 DNS 中设置 CNAME 以指向 IIS 服务器,使用 IIS 中的主机名解析单个 IIS 服务器上的多个站点。我正在使用相同的 IIS 服务器将一些子域外包给外部站点。
然后在 IIS 中,设置网站的重定向到你的离线站点/路径,在我的例子中,我希望 catalog.ourdomain.com 访问的是我们的托管目录。从这里开始,所有的调整都在 IIS 中完成。一定要启用匿名身份验证,这样流量就不会被阻塞。
用 重定向,中心真的很简单
如果要创建 CNAME,请按以下方式创建:
使用 redirect.center 您的 CNAME 看起来像规范模式:
翻译: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对: 奇芳校对。
现在,如果你想重定向到 https 网站,你可以添加这个选项:
Http://www.prov.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm. opts-https. redirect.center.
现在,您可以使用规范模式在命运页面中使用斜杠创建 CNAME。
一项相关工作总结如下:
问题:
Http://a.com/p1/p2.html 应该转到 http://b.com/p1/p2.html 今天,但后来手动/自动配置时,相同的 Http://a.com/p1/p2.html 应该转到 http://c.com/p1/p2.html
答案:
DNS -将名称转换为 IP 地址
虽然它可以做很多重定向,但总是输出 IP 地址 DNS 不理解 URL 的路径或协议部分,只理解域部分,即 a.com 只能转换为 IP 地址,所以当你点击 http://a.com/p1/p2.html时可能会转换为 http://152.132.121.11/p1/p2.html 如果您在 DNS 中配置错误,那么您将得到152.132.121.11(而不是 http://152.132.121.11/p1/p2.html) ,因此您将得到一些400错误(400、403等等)
重定向 -这是 http://a.com/p1/p2.html可以转换为 < a href = “ http://b.com/p1/p2.html”rel = “ norefrer”> http://b.com/p1/p2.html
所有的方法,如 GET,POST 都可以工作,如果有任何头和主体,但有一个 Web 服务器涉及,它可能是故障点,所以可伸缩性和可用性将是关键
如果你在 AWS上,路由53-> API 网关可以通过自定义域,内部使用云端
可以使用 Amazon 认证管理器、 AWS 网关定制域和 Route53,请注意 ACM 上的 us-east-1限制
希望这对某人有帮助
尽管几乎每个人都说过,仅仅使用 DNS 是不可能的。作为一个变通方法,我建议尝试 NGINX (http://nginx.org/en/docs/http/request_processing.html)。
DR-在 NGINX 中,您可以创建多个虚拟服务器,这些服务器可以根据服务器名称重定向您的请求。
例如,http://first.my-server.com重定向到放置 A,http://second.my-server.com重定向到放置 B,而两者共享一个物理服务器。
您可以使用 htaccess 重写模块,重写到子文件夹,如果用户正在请求一个特定的域,而不是其他。