Cakephp 3 and Subdomain


Cakephp 3 and Subdomain

Cakephp 3和子域

我在服务器的根目录中有一个应用程序cakehp3,需要创建一个子域,这个子域也与cake位于同一根目录中。

示例:

配置

src

商店(子域)

如何在我的根中有蛋糕它不允许访问子域。我能做些什么来解决这个问题?

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

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

www.maindomain.com,由"src"运行。但是您希望sub.maindowin.com使用cakepp文件结构之外的其他文件

我认为在文件约定之外工作太费力了。我认为这更多的是".htaccess"answers"虚拟主机"的问题。

我找到了一个链接,也许你可以帮助你"CakePHP子域与htaccess"

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

我认为最好的方法是配置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指令设置请求方案、主机名和端口#服务器用来标识自己。这在创建时使用#重定向URL。在虚拟主机的上下文中,ServerName#指定请求的Host:标头中必须显示的主机名#匹配此虚拟主机。对于默认虚拟主机(此文件)#值并不是决定性的,因为它被用作最后的宿主。#但是,必须为任何其他虚拟主机显式设置它。ServerName商店本地服务器别名商店.本地

        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文件,这样你就可以访问新的子域,如果它在虚拟机中,或者你无法从计算机上解决它:

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

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

请参阅Apache2的CakePHP 2.x虚拟主机文件以获取参考。