使用DNS记录重定向

时间:2015-07-31 04:09:26

标签: php cakephp dns

所以我让自己看上了一个简短的' domain - abcd.st - 我纯粹使用这个作为重定向域而没有别的。 NIC.st网站比我想象的更为简陋。它使您能够添加DNS记录,但没有更多。无法访问Web服务器或任何此类服务器。它确实让你能够改变DNS服务器,但我不知道这是否有帮助(这方面的新手)。

现在,我将使用我的添加内容创建微小的URL http://abcd.st/55e0chttp://abcd.st/45qs2s,您就明白了

当用户访问这些微小的URL时,我需要将它们重定向到我的主网站上的特定操作www.abcd.com/pages/view

使用DNS记录我能够将所有流量盲目地重定向到我的主域 - www.abcd.com - 但我不知道如何

  1. 重定向到特定路径
  2. 假设他们无法将其重定向到特定路径,那么我是否可以通过某种方式找到重定向域,然后再将其内部转发到正确的行为?
  3. 编辑 - 这是我的DNS记录的样子

    NAME                TTL        TYPE            ADDRESS
    
    @                   1800       A               xxx.xxx.xxx.xxx
    

    我正在使用CakePHP 3.0.10

    非常感谢帮助!

2 个答案:

答案 0 :(得分:1)

您无法使用dns重定向具有特定路径的网址。

我推荐使用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=(.*)$ $1

答案 1 :(得分:1)

所以这就是我最终做的事情

  1. 我的DNS记录指向我的主域名。因此,如果用户转到http://abcd.st,他们会被重定向到http://www.abcd.com

  2. 我在CakePHP中配置了中央控制器,AppController检查引用域。如果引用域具有'abcd.st',则它知道这是一个简短的URL重定向,然后将其推送到适当的控制器/操作

  3. 此外,我还使用$this->request->here提取与原始网址一起发送的所有参数,并将其传递给新的控制器/操作

  4. 希望这有助于将来......