使用 DNS 记录重定向
Redirect using DNS records
所以我给自己弄了一个漂亮的 'short' 域 - abcd.st - 我将其纯粹用作重定向域,仅此而已。 NIC.st 网站比我想象的还要简陋。它使您能够添加 DNS 记录,但仅此而已。无法访问网络服务器或任何类似的东西。它确实使您能够更改 DNS 服务器,但我不知道这是否有帮助(这方面的新手)。
现在,我将使用我的添加创建小型 URL,看起来像
http://abcd.st/55e0c or http://abcd.st/45qs2s 你明白了
当用户访问这些小 URL 时,我需要将它们重定向到我的主网站上的特定操作 www.abcd。com/pages/view
使用 DNS 记录,我可以将所有流量盲目地重定向到我的主域 - www.abcd.com - 但我不确定如何
- 重定向到特定路径
- 假设无法将它们重定向到特定路径,那么有什么方法可以找到重定向域,然后在内部将它们再次转发到正确的操作?
编辑 - 这是我的 DNS 记录的样子
NAME TTL TYPE ADDRESS
@ 1800 A xxx.xxx.xxx.xxx
我正在使用 CakePHP 3.0.10
感谢帮助!
您不能使用 dns 重定向具有特定路径的 url。
我建议改用 php 重定向脚本。像这样。
index.php
<?php
$site = "http://www.abcd.com/";
$path = "";
switch ($_GET["url"])
{
case "45qs2s":
$path = "pages/view/1";
break;
case "55e0c":
$path = "pages/view/2";
break;
}
http_redirect($site . $path);
?>
.htaccess
RewriteEngine on
RewriteRule ^index.php?url=(.*)$
这就是我最后做的事情
我让 DNS 记录指向我的主域。所以如果用户去 http://abcd.st, they would get redirected to http://www.abcd.com
我在 CakePHP 中配置了中央控制器,AppController
检查引用域。如果引用域有 'abcd.st' 那么它知道这是一个简写 URL 重定向,然后将其推送到适当的控制器/操作
此外,我还使用$this->request->here
提取了所有与原始网址一起发送的参数,并将其传递给新的控制器/动作
希望这对以后的人有所帮助...
所以我给自己弄了一个漂亮的 'short' 域 - abcd.st - 我将其纯粹用作重定向域,仅此而已。 NIC.st 网站比我想象的还要简陋。它使您能够添加 DNS 记录,但仅此而已。无法访问网络服务器或任何类似的东西。它确实使您能够更改 DNS 服务器,但我不知道这是否有帮助(这方面的新手)。
现在,我将使用我的添加创建小型 URL,看起来像 http://abcd.st/55e0c or http://abcd.st/45qs2s 你明白了
当用户访问这些小 URL 时,我需要将它们重定向到我的主网站上的特定操作 www.abcd。com/pages/view
使用 DNS 记录,我可以将所有流量盲目地重定向到我的主域 - www.abcd.com - 但我不确定如何
- 重定向到特定路径
- 假设无法将它们重定向到特定路径,那么有什么方法可以找到重定向域,然后在内部将它们再次转发到正确的操作?
编辑 - 这是我的 DNS 记录的样子
NAME TTL TYPE ADDRESS
@ 1800 A xxx.xxx.xxx.xxx
我正在使用 CakePHP 3.0.10
感谢帮助!
您不能使用 dns 重定向具有特定路径的 url。
我建议改用 php 重定向脚本。像这样。
index.php
<?php
$site = "http://www.abcd.com/";
$path = "";
switch ($_GET["url"])
{
case "45qs2s":
$path = "pages/view/1";
break;
case "55e0c":
$path = "pages/view/2";
break;
}
http_redirect($site . $path);
?>
.htaccess
RewriteEngine on
RewriteRule ^index.php?url=(.*)$
这就是我最后做的事情
我让 DNS 记录指向我的主域。所以如果用户去 http://abcd.st, they would get redirected to http://www.abcd.com
我在 CakePHP 中配置了中央控制器,
AppController
检查引用域。如果引用域有 'abcd.st' 那么它知道这是一个简写 URL 重定向,然后将其推送到适当的控制器/操作此外,我还使用
$this->request->here
提取了所有与原始网址一起发送的参数,并将其传递给新的控制器/动作
希望这对以后的人有所帮助...