Cakephp 3和Subdomain
我在我的服务器的根目录中有一个应用程序cakephp 3,需要创建一个子域,这个子域也与蛋糕在同一个根目录中。
示例:
仓
配置
的src
...
购物(子域名)
我的root中的蛋糕如何不允许访问subdomio。 我该怎么做才能解决这个问题?
答案 0 :(得分:0)
因为cakephp的文件约定有时很难得到你想要的结果。
如果我错了,请纠正我。你的情况是这样的吗?
www.maindomain.com,由“src'”运营。 但是你希望sub.maindomain.com使用cakephp文件结构之外的其他文件
我认为在文件约定之外工作需要付出太多努力。我认为这更像是' .htaccess'和虚拟主机'问题。
我找到了一个可以帮助你的链接" CakePHP subdomains with htaccess"
更新: 当您尝试修复此问题时,请记住文件夹权限问题。
答案 1 :(得分:-1)
我认为最好的方法是配置VirtualHost,我假设您使用Apache,因此商店文件夹不是服务器根目录的一部分。在这里你可以看到如何做到这一点:
将一个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
可选:编辑/ etc / hosts文件,以便您可以访问新的子域,如果它位于VM中,则无法从计算机中解析它:
192.168.100.14 shop.local#将IP更改为服务器的IP
在Apache中启用站点(在Ubuntu中,您需要运行:sudo a2ensite shop.local)并重新启动Apache服务器。