2014-12-02 44 views
1

在使用Yii2高級模板(https://github.com/yiisoft/yii2-app-advanced)之後,它需要前端和後端的不同文檔根。如何在OpenShift for Yii2高級模板上設置不同的文檔根

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上有沒有解決這個問題的方法?

回答

1

根據3月本次發佈的博客文章(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應用目錄結構與所有主要的上游PHP項目兼容,包括Drupal,WordPress,Joomla,Zend Framework Skeleton Apps等等。

+0

嗨科裏等人, 感謝您的回答。我會接受這個答案,因爲它告訴我OpenShift如何至少選擇文檔根目錄。 – Sinaru 2014-12-06 07:01:38

0

雖然不熟悉OpenShift的結構,但我確實找到了一個使用他們的「快速入門」理念的回購協議,以便在他們的服務中使用框架。當然,這與Yii1相同,但是在Yii2和Yii2之間設置文檔根目錄是相似的。

該信息通常在您設置basePath的protected/config/main.php文件中設置。

從這裏回購: https://github.com/Umasankar-Natarajan/yii-example

而且,在你不知道的情況下,也有在GitHub上Yii2回購已經有後端從前端分離,這樣你就不必做此重建你自己。

請告訴Brian完成他一直在研究的那部小說,Stewie。

相關問題