搜尋

首頁  >  問答  >  主體

yii2 - nginx中location裡的root和server裡的root區別

server
    {
        ...
        #我在server中定义了root
        root  /home/www/zscx;
        ....
        #location中也定义一个root
        location /
        {
           root /home/www/zscx/web;
           try_files $uri /index.php?$args;
        }
        ...
    }
    

訪問地址www.xxx.com/site/test
希望訪問到的目的地址是www.xxx.com/web/index.php?r=site/test
但是實際上訪問到得是www.xxx.com/index.php?r=site/test
也就是我在location設定的root沒有運作啊,如果在最開始設定root /home/www/zscx/web 那就是好的。
求解為什麼?

try_files $uri /index.php?$args;
改為try_files $uri /web/index.php?$args;這樣子確實可以,但是還是會出現/web這個目錄。我想實現的是www.domain.com/controller/function

其實就是為了解決Yii2的pathinfo模式

#
PHP中文网PHP中文网2749 天前648

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-05-16 17:21:37

    https://github.com/yiisoft/yii2/blob/master/docs%2Fguide%2Fstart-installation.md#recommended-nginx-configuration-

    回覆
    0
  • 阿神

    阿神2017-05-16 17:21:37

    yii2你想把web隱藏掉,root路徑包含到web就可以了,yii文檔裡我記得有說只有 web目錄是可訪問的。至於你說的那個情況是root有起作用啊,所以才不用寫web路徑

    回覆
    0
  • 取消回覆