Cakephp 3和Subdomain

时间:2015-10-29 16:03:50

标签: php subdomain cakephp-3.0

Cakephp 3和Subdomain

我在我的服务器的根目录中有一个应用程序cakephp 3,需要创建一个子域,这个子域也与蛋糕在同一个根目录中。

示例:

配置

的src

...

购物(子域名)

我的root中的蛋糕如何不允许访问subdomio。 我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:0)

因为cakephp的文件约定有时很难得到你想要的结果。

如果我错了,请纠正我。你的情况是这样的吗?

www.maindomain.com,由“src'”运营。 但是你希望sub.maindomain.com使用cakephp文件结构之外的其他文件

我认为在文件约定之外工作需要付出太多努力。我认为这更像是' .htaccess'和虚拟主机'问题。

我找到了一个可以帮助你的链接" CakePHP subdomains with htaccess"

更新: 当您尝试修复此问题时,请记住文件夹权限问题。

答案 1 :(得分:-1)

我认为最好的方法是配置VirtualHost,我假设您使用Apache,因此商店文件夹不是服务器根目录的一部分。在这里你可以看到如何做到这一点:

  1. 将商店文件夹移至Apache根外部,因此它不属于主网站。如果它在/ var / www / html / shop中移动到/ var / www /
  2. 将一个VirtualHost添加到Apache httpd.conf文件或将其作为shop.conf添加到/ etc / apache2 / sites-available /中,假设您的服务器是Ubuntu 14.04,您必须知道根据文件保存文件的位置你的发行版。

            #ServerName指令设置请求方案,主机名和端口         #服务器用于标识自己。这在创建时使用         #reading URL。在虚拟主机的上下文中,ServerName         #指定请求的Host:header中必须出现的主机名         #匹配此虚拟主机。对于默认的虚拟主机(此文件)         #value不是决定性的,因为它被用作最后的主机,无论如何。         #但是,您必须明确地为任何其他虚拟主机设置它。         ServerName shop.local         ServerAlias shop.local

        ServerAdmin alejandro@ulfix.com
        DocumentRoot /var/www/shop/    
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
    

  3. 可选:编辑/ etc / hosts文件,以便您可以访问新的子域,如果它位于VM中,则无法从计算机中解析它:

    192.168.100.14 shop.local#将IP更改为服务器的IP

  4. 在Apache中启用站点(在Ubuntu中,您需要运行:sudo a2ensite shop.local)并重新启动Apache服务器。

  5. 请参阅CakePHP 2.x virtual host file for Apache2以供参考。