CodeIgniter3 base_urlとsite_urlの違い
いまさらながらに、CodeIgniter3のURL Helperで提供されるbase_url、とsite_urlの違いを忘れたので、実行結果を記録。 URL Helper base_url URL Helper site_url http://127.0.0.1/dev/citest/ に配置したCodeIgniter3のarticle/listというコントローラーメソッドを実行したときの結果。
URL Helper function
|
<th>
$config['index_page'] = 'index.php';<br />$config['url_suffix'] = '.html'; 時の結果
</th>
<th>
$config['index_page'] = '';<br />$config['url_suffix'] = ''; 時の結果
</th>
site_url('news/local/123');
|
<td>
http://127.0.0.1/dev/citest/<span style="color: #ff0000">index.php</span>/news/local/123<span style="color: #ff0000">.html</span>
</td>
<td>
http://127.0.0.1/dev/citest/news/local/123
</td>
base_url('news/local/123');
|
<td>
http://127.0.0.1/dev/citest/news/local/123
</td>
<td>
http://127.0.0.1/dev/citest/news/local/123
</td>
uri_string();
|
<td>
article/list
</td>
<td>
article/list
</td>
current_url(); ※site_url(uri_string());と同じ動作。
|
<td>
http://127.0.0.1/dev/citest/<span style="color: #ff0000">index.php</span>/article/list<span style="color: #ff0000">.html</span>
</td>
<td>
http://127.0.0.1/dev/citest/article/list
</td>
index_page();
|
<td>
<span style="color: #ff0000">index.php</span>
</td>
<td>
"(空)"
</td>
要するにsite_url、current_urlはconfig.php中のindex_pageとurl_suffix の設定の影響を受ける。 よく忘れてしまうので、メモしておこう。