我通过设置.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函数无法正常工作。
答案 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