4

我想转发一个 url,这样如果你在地址栏中输入 www.example.com,你就会被转发到 www.test.com/test.php。

我所做的是在我的区域文件中添加了一条 cname 记录。

所以我有:

www  IN CNAME www.test.com/test.php.

这并没有完成工作。

我已经阅读了很多内容,但仍然无法理解整个 dns 进程是如何工作的。我的理解是 CNAME 只会导致您的域使用另一个域区域文件。如果是这种情况,那么 CNAME 就不是我要找的了。

如果有人能指出我正确的方向,或者给我一个关于 url 转发过程的简要概述,将不胜感激。

谢谢

4

2 回答 2

7

您将DNSURL 转发混淆了。您在区域文件中可能拥有的只是

www.example.com.  IN CNAME www.test.com.

www.test.com域名www.test.com/test.php网址

拥有此 CNAME与拥有 www.example.com 的“A”记录指向与 www.test.com 相同的 IP 地址具有完全相同的效果 - 您的浏览器将首先查看此 CNAME,然后获取 www 的 IP 地址。 example.com,然后浏览器将向该 IP 地址发送对 www.example.com (!)的 HTTP 请求。

在网络服务器上完成 URL 转发,在 www.test.com 网络服务器上,您可以定义一个虚拟主机 www.example.com(不是 www.test.com),它可以运行您的 test.php 或从 / 重定向到 /test.php .

或者在 www.example.com 网络服务器上,您可以设置从 www.example.com 到 www.test.com/test.php 的 HTTP 303 重定向,然后您不使用 CNAME。

虽然有些无序,但希望它有所帮助。

于 2012-07-11T19:15:45.917 回答
0

答案是绝对正确的,但我认为解决方案是这样的:

使用redirect.center 真的很容易

如果您想创建一个 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。

于 2017-09-01T14:31:32.463 回答