我正在尝试通过DNS将域重定向到另一个域。
我知道使用IN CNAME它是可行的。
www.proof.com IN CNAME www.proof-two.com.
我需要的是一个带路径的重定向。如果有人输入www.proof.com
,则应将其转到www.proof-two.com/path/index.htm
我知道可以使用Web Server工具完成,但我需要DNS重定向。
这可能吗?
答案 0 :(得分:116)
不,你问的是不可能的。 DNS是名称解析系统,对HTTP一无所知。
答案 1 :(得分:76)
如果您使用AWS,则需要重定向
mail.foo.com --> mail.google.com/a/foo.com
可以设置如下:
不是纯粹的DNS解决方案,但它有效;)
但请注意,重定向会跳过所有网址参数,例如:...?param1 = value1& param2 = value2
答案 2 :(得分:26)
我意识到这是一个旧线程,但FWIW,因为其他人正在寻找一种方法来做到这一点。
虽然dns不了解网址的路径部分,但它会理解子网域,因此不是:
www.proof.com IN CNAME www.proof-two.com/path/index.htm
您可以使用:
www.proof.com IN CNAME proof.proof-two.com
然后转到您托管proof-two.com的任何地方并将其设置为指向proof.proof-two.com指向www.proof-two.com/path/index.htm。
〜皮肤上总是有不止一种方法
答案 3 :(得分:14)
我有一个可以帮助您解决此问题的个人项目。 它是一个开源重定向解决方案,允许您重定向您的域只是更改您的DNS设置。项目链接:https://redirect.center/。
要将www.proof.com重定向到www.proof-two.com并保留URL参数,只需在proof.com上设置您的www DNS条目:
www.proof.com IN CNAME www.proof-two.com.opts-uri.redirect.center。
答案 4 :(得分:10)
要回答原来的问题,不,你想要的只是使用DNS是不可能的(就像所有人都说的那样)。除了已经提到的所有内容之外,另一个选择是使用URL重定向服务。这些类型的服务可以使您根据需要配置许多不同类型的URL重定向。例如:
执行此操作的服务是EasyRedir。完全披露:我开发了EasyRedir。当然还有其他选择,所以我鼓励你去看看。
答案 5 :(得分:9)
如果您想创建CNAME:
www.proof.com IN CNAME www.proof-two.com/path/index.htm
使用redirect.center将您的CNAME看作规范模式:
www.proof.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.redirect.center。
现在,如果您想重定向到https网站,可以添加以下选项:
www.proof.com IN CNAME www.proof-two.com.opts-slash.path.opts-slash.index.htm.opts-https.redirect.center。
现在,您可以在命运页面中使用带有斜杠的规范模式创建CNAME。
答案 6 :(得分:8)
似乎我的提供商(OVH)在其基础架构中允许这种重定向。
请参阅:https://www.ovh.com/fr/g1339.redirection-nom-de-domaine
我为了存档而保留下面的答案,但它并没有提供任何有意义的信息。
我使用TXT记录做到了。
要将foo.bar.com
重定向到foo2.bar.com/path
,只需在foo IN TXT "1|foo2.bar.com/path"
DNS区域中添加bar.com
即可。
它还保留了url路径和参数。因此,如果您尝试访问foo.bar.com/hello?foo=bar
,则系统会将您重定向到foo2.bar.com/path/hello?foo=bar
。
答案 7 :(得分:5)
DNS不会重定向网址的路径部分,因此无法实现。
添加
www.proof.com IN CNAME www.proof-two.com
将直接访问www.proof.com,访问www.proof-two.com,您需要使用网络服务器配置将用户引导至相应的页面。
答案 8 :(得分:3)
@contacto contact和@adlawson
我要在这里为月球射击,因为我现在面临着类似的挑战。我找到了一个在技术层面上在DNS服务器上实现的解决方案。
完全披露:我使用www.dnsmadeeasy.com来管理我的DNS,因为您的里程可能因GoDaddy或其他香草注册商而异。
我的DNS解决方案:
使用HTTP重定向记录 - 我将网址http://techshiftacademy.com指向具有Python类基本注册的位链接。
答案 9 :(得分:3)
我对此问题的解决方案非常简单直接。您所需要的只是在域内运行的IIS服务器。
在DNS中设置CNAME以指向IIS服务器,使用IIS中的主机名解析单个IIS服务器上的多个站点。我正在使用相同的IIS服务器将一些子域分配到外部站点。
然后在该站点的IIS安装程序设置重定向中转到您的异地站点/路径,在我的情况下,我希望catalog.ourdomain.com转到我们的托管目录。从这里开始,所有调整都在IIS中完成。请务必启用匿名身份验证,以便不会阻止流量。
答案 10 :(得分:3)
相关工作总结如下:
问题:
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),所以你会得到400s的错误(400,403等)
重定向 - 这http://a.com/p1/p2.html可以转换为http://b.com/p1/p2.html
所有方法,如GET,POST都可以使用,如果有任何标题和正文,但是涉及到Web服务器,它可能是故障点,因此可扩展性和可用性将是关键
如果您在 AWS ,路线53 - >通过自定义域可以使用API网关,内部使用云前端
可以使用Amazon认证管理器,AWS Gateway自定义域和& Route53,注意ACM的us-east-1限制
希望能帮到某人
答案 11 :(得分:2)
我认为你有这样的场景:你有一个独特的网络服务器托管各种网站,每个网站应该由一个独立的域提供:
所以,page1.html应由 www.customer1.com 等提供服务。
在 example.com dns服务器(您的网络服务器)中创建一个子域名:
customer1.example.com
,将子域映射到包含客户#1的网站的目录,如下所示:
<VirtualHost *:80> SetEnv PAGE_ID "customer1" ServerName customer1.example.com ServerAlias www.customer1.com DocumentRoot /your/local/path/webserver/customer1 </VirtualHost>
请注意“ServerAlias”的值,这对下一步非常重要 -
此时,您应该可以浏览到以下网址导航到您的customer1网站:
customer1.example.com
CNAME = WWW LOCATION = customer1.example.com
现在,您可以使用:www.customer1.com。
答案 12 :(得分:2)
虽然几乎每个人都已经说过 - 但仅使用DNS是不可能的。作为一种解决方法,我建议尝试使用NGINX(http://nginx.org/en/docs/http/request_processing.html)。
TL; DR - 在NGINX中,您可以创建多个虚拟服务器,这些服务器可以根据服务器名称重定向您的请求。
实施例。 http://first.my-server.com重定向到A和http://second.my-server.com重定向到B位置,而两者共享一个物理服务器。
答案 13 :(得分:0)
如果用户请求的是一个特定的域而不是另一个域,则可以使用htaccess rewrite mod,重写到子文件夹。
答案 14 :(得分:-1)
当然可以通过以下技巧重定向:
创建新的标准主要区域 将其命名为您要重定向到的虚构URL 确保此虚构名称与任何AD DNS名称不同 使用以下条目创建记录:
空白.......................甲...................... ...... IP-ADDR-2
WWW .........................甲.................... ........ IP-ADDR-2
我们这里有的是重定向,基本上。有效的URL将根据现有的DNS主DNS区域解析。虚拟URL将重定向到ip-addr-2。重要的是这个条目的名称是空白的,因此它将落到记录中的下一个条目并重定向到ip-addr-2
答案 15 :(得分:-1)
每个人都已经说明了这一点,我只想给你一个可以帮助你的服务的另一个选择。 www.301redirect.it是一项免费服务,可以将您的域名(使用通配符)重定向到任何目标网址。
我想添加一个披露:我是这项服务的开发者,还有其他选择。