如何在OpenShift for Yii2高级模板上设置不同的文档根

时间:2014-12-02 04:23:10

标签: openshift yii2

使用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上有任何解决方案,请告诉我?

2 个答案:

答案 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。