【问题标题】:Custom Domain Mapping in CakePHPCakePHP 中的自定义域映射
【发布时间】:2014-05-02 17:13:53
【问题描述】:

我在一个社交网站上用 CakePHP 编码说example.com,这里的用户资料位于example.com/profiles/user1。现在我需要为用户提供使用他们的自定义域作为配置文件的功能。例如user1.com 应该呈现来自example.com/profiles/user1 的内容

请为我的问题建议最佳解决方案。我正在研究共享主机 - Linux 服务器。

【问题讨论】:

    标签: php .htaccess cakephp url-rewriting


    【解决方案1】:

    对于此功能,您需要将 user1.com 指向 example.com/profiles/user1

    为此我可以想到两种方法:

    1.名称服务器方法:

    您可以将 user1.com 的名称服务器更改为您的 example.com 名称服务器,例如:

    ns1.example.com

    ns2.example.com

    注意:这可能需要 3-4 小时才能工作

    2。网址转发方式:

    您还可以使用 URL 转发将 user1.com 指向 example.com 。 这将为您提供转发http://support.godaddy.com/help/article/422/forwarding-or-masking-your-domain-name

    的基本概念

    【讨论】:

    • -1 简单地将一个域的名称服务器更改为另一个域的名称服务器将导致 lame 委托,这将完全破坏该域:已更改委托的名称服务器必须首先已配置为服务于该区域(无论如何,委托与这个问题完全无关)。
    【解决方案2】:

    假设你们在 DNS 中都有通配符记录,并且网络服务器配置为通过这些主机名为您的 Cake 项目提供服务(如何 执行这些操作将取决于您的托管服务提供商),那么 (感谢Subdomaining with Cake),您只需将以下内容放入app/config/bootstrap.php

    $subdomain = substr( env('HTTP_HOST'), 0, strpos(env('HTTP_HOST'), '.') ); 
    if( strlen($subdomain)>0 && $subdomain != 'www' ) { 
        $_GET['url'] = 'user/' . $subdomain . '/' . (isset($_GET['url']) ? $_GET['url'] : '');
    }
    

    【讨论】:

    • 没听懂!你能详细说明一下步骤吗?
    • 我一头雾水,子域需要用这个做什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-17
    • 1970-01-01
    • 2021-12-30
    • 2022-08-15
    • 1970-01-01
    相关资源
    最近更新 更多