請選擇 進入手機版 | 繼續訪問電腦版
搜索
熱搜: 活動 交友 discuz
查看: 8340|回復: 0

[PHP] [PHP][Yii2] 子目錄部屬架構 - 設定 $request->baseUrl 修正Url與PrettyUrl

[複製鏈接]
發表於 2016-1-22 11:52:27 | 顯示全部樓層 |閱讀模式
Yii2部屬上,如果不是在Domain根目錄,要部屬Yii2恐造成Base Url錯亂及PrettyUrl後的Route吃不進Yii。

例如,在Nginx location目錄名與實體uri(Sub document root in location)不一樣下,預設的Yii其Base Url會以uri為主而非Nginx location目錄名,另外PrettyUrl因為無法正確比對REQUEST_URI導致Route無法解析。

  1. # 基本影響層級,Url可能是取自DOCUMENT_URI
  2. \yii\helpers\Url::to(['/']);
  3. \yii\helpers\Url::home();
複製代碼



【解決方法】:

在Yii2 config -> request component -> baseUrl 設定基礎目錄(同Nginx location目錄名),以讓Yii依此套用全部基礎Url,也才能依此路徑去比對REQUEST_URI取得Route。

  1. $config = [
  2.     'components' => [
  3.         'request' => [
  4.             'cookieValidationKey' => '',
  5.             'baseUrl' => '/location_here'
  6.         ],
  7.     ]
  8. ]
複製代碼
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

本論壇為非營利之網路平台,所有文章內容均為網友自行發表,不代表論壇立場!若涉及侵權、違法等情事,請告知版主處理。


Page Rank Check

廣告刊登  |   交換連結  |   贊助我們  |   服務條款  |   免責聲明  |   客服中心  |   中央分站

手機版|中央論壇

GMT+8, 2024-12-8 07:25 , Processed in 0.018834 second(s), 17 queries .

Powered by Discuz!

© 2005-2015 Copyrights. Set by YIDAS

快速回復 返回頂部 返回列表