使用Yii2高级模板(https://github.com/yiisoft/yii2-app-advanced)后,前端和后端需要不同的文档根。
Set document roots of your Web server:
for frontend /path/to/yii-application/frontend/web/ and using the URL http://frontend/
for backend /path/to/yii-application/backend/web/ and using the URL http://backend/
在我的本地计算机中,我设置了apache并将虚拟主机配置为具有指向后端的别名。
<VirtualHost ..:80>
ServerAdmin ..
ServerName .
DocumentRoot "...\frontend\web"
<Directory "...\frontend\web">
Require all granted
</Directory>
Alias /backend "...d\backend\web"
<Directory "...\backend\web">
Require all granted
</Directory>
</VirtualHost>
但我无法弄清楚如何在OpenShift中做到这一点。如果OpenShift上有任何解决方案,请告诉我?
答案 0 :(得分:1)
根据三月份发布的博客文章(https://blog.openshift.com/openshift-online-march-2014-release-blog/): 盒式磁带控制脚本逻辑根据以下顺序的条件选择DocumentRoot:
IF php/ dir exists THEN DocumentRoot=php/
ELSE IF public/ dir exists THEN DocumentRoot=public/
ELSE IF public_html/ dir exists THEN DocumentRoot=public_html/
ELSE IF web/ dir exists THEN DocumentRoot=web/
ELSE IF www/ dir exists THEN DocumentRoot=www/
ELSE DocumentRoot=/
我相信你已经猜到了,这使得新的OpenShift app目录结构与所有主要的上游PHP项目兼容,包括Drupal,WordPress,Joomla,Zend Framework Skeleton Apps等等。
答案 1 :(得分:0)
虽然不熟悉OpenShift的结构,但我确实找到了一个使用他们的“快速入门”理念的回购,以便在他们的服务中使用框架。当然,这与Yii1相同,但设置文档根目录与Yii2之间的相似。
此信息通常在您设置basePath的protected / config / main.php文件中设置。
来自这里的回购: https://github.com/Umasankar-Natarajan/yii-example
另外,如果您不知道,在github上有Yii2 repos已经将后端与前端分开,因此您不必自己重新创建。
请告诉Brian完成他一直在做的那部小说,Stewie。