为什么base_url()返回无效的url?

时间:2015-11-26 10:31:59

标签: codeigniter

的.htaccess

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]

控制器

<?php
    class Home extends CI_Controller    
    {
        function index()
        {   
             echo base_url();  
            }
} ?>

配置 $ config ['base_url'] =''; $ config ['index_page'] ='';

输出

  

http://::1/ci/

我已经加载了URL帮助器。它应该是http://localhost/ci/

请帮助我。

2 个答案:

答案 0 :(得分:0)

在您的配置中插入网址,如下所示:

$config['base_url'] = 'http://localhost/ci/'; 

在您的应用中添加以下代码&gt; config&gt; autoload.php

//$autoload['helper'] = array();
$autoload['helper'] = array('url');

并通过以下脚本替换 .htaccess ,以便从网址中删除index.php。

<强>的.htaccess

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|assets|uploaded_files|img_cache|jscal|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ci/index.php?/$1 [L,QSA]
</IfModule>

之后,您的网址将为http://localhost/ci/home

答案 1 :(得分:0)

不要将基本网址留空

$config['base_url'] = 'http://localhost/ci/';

然后试试这个htaccess

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

同时自动加载网址助手application > config > autoload.php

$autoload['helper'] = array('url');

在控制器上,您不需要在{<1}}结束

?>