Codeigniter重定向与base_url

时间:2010-06-12 22:27:04

标签: .htaccess codeigniter redirect codeigniter-url

我注意到anchor('controller/method')产生的结果与仅<a href="controller/method"> anchor() anchor('controller/method')的结果不同,因为<a href="http://localhost/dts/controller/method">Link</a> 添加了base_url:

<a>

<a href="controller/method">Link</a>

method2

redirect('controller/method')

如何在控制器中实现同样的效果(锚点)?也就是说,在我的重定向中添加base_url?

我问,因为我有一个表单调用另一个方法controller/controller/method2,其中有一个controller/controller/controller/method2。但它会错误地重定向到redirect( base_url() . 'controller/method' ),如果再次提交表单,则会重定向到$config['index_page'] = ""; ,依此类推。

这就是为什么我想知道如何重定向到控制器/方法,并将base_url预先添加到它。 $config['base_url'] = "http://localhost/program/"; 不起作用。

index_page设置为:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) index.php/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
    ErrorDocument 404 /index.php
</IfModule>

base_url设置为:

{{1}}

htaccess的:

{{1}}

这基于this,因为CI手册提供的.htaccess不起作用。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

redirect('/controller/method');

答案 1 :(得分:0)

几乎肯定,但不需要斜线。

redirect('controller/method');

您的$ config ['base_url']设置为什么,因为您正在使用正确的功能并获得错误的功能。

答案 2 :(得分:0)

我想你想要redirect( site_url('controller/method') );

在使用此$this->load->helper('url');之前,请不要忘记添加URL Helper类。