CodeIngiter 4 動態網址設定成 base_url 參數 ngrok 適用

在 CodeIgniter 4 baseURL 這個變數的設定是非常重要的。

如果是單一環境使用,我們可以寫在 app/Config/App.php 中就好。若是多環境通常我們會在每個環境中的 .env 檔進行宣告。

但是~~如果網址是一直變得呢?例如我們在開發和測試的過程用到 ngrok 這種每次啟動就會給你換一次網址的,就需要用下面的作法。


首先,我們先將 app/Config/App.php 中的 public $baseURL 設定成
public $baseURL = BASE ;


接著在另一個檔案。app/Config/Constants.php 中加入:

$protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https://'.$_SERVER['HTTP_HOST'] : 'http://'.$_SERVER['HTTP_HOST'];

defined('BASE') || define('BASE',$protocol);

就可以了。

留言