从codeigniter中的site_url函数中删除index.php

时间:2015-03-28 23:53:59

标签: php codeigniter url uri

我通过设置.htaccess文件从url中删除了index.php。现在我想从site_url()返回值中删除index.php,因为我不希望搜索引擎缓存我的URL包含index.php。例如,当我在项目的一部分中使用site_url()时,搜索引擎会缓存像http://url/index.php/controller这样的URL。我从system / helper中的site_url函数中删除了index.php,但我认为redirect和form_open函数无法正常工作。

2 个答案:

答案 0 :(得分:12)

写入.htaccess文件

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

在config.php中设置index_page配置

$config['index_page'] = '';

答案 1 :(得分:2)

您可以使用base_url()功能:

echo base_url(); // http://example.com/website
echo site_url(); // http://example.com/website/index.php