在建立CI環境的時候會需要建立一個隱藏設定檔,檔名是.htaccess。
這個檔案的內容CI的網頁裡會提供,每個版本的內容不同。
CI3的設定長這樣:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
CI4:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
這些是改寫網址的設定,RewriteCond和RewriteRule的詳細介紹可以到這邊看。
修改完.htaccess後,還需要到routes修改controller的設定。
CI3:
$route['default_controller'] = '檔案名稱/controller name';
$route['(:any)'] = '檔案名稱/controller name/$1(變數)';
CI4:
$routes->setDefaultController('FE');
$routes->setDefaultMethod('index');
CI4會設定預設的method,CI3則是預設會找default_controller的index。
如果CI3同時有多個controller檔案的話,那就必須再多設定一行$route['接收值'] = '檔案名稱/index';才能讓index不顯示出來