Codeigniter重定向不工作


Codeigniter Redirect not working

让我在以下位置

http://localhost/ignitershop/index.php/seller_controller/viewcart

在这个视图中,我有一个链接,使用它我想移动到同一控制器的另一个方法removeRow()。所以我在下面使用href

<a href="seller_controller/removeRow" >CLICK TO REMOVE </a>

所以我希望新的网址是:

http://localhost/ignitershop/index.php/seller_controller/removeRow

但是url似乎是串联的。它正在变得如下:

http://localhost/ignitershop/index.php/seller_controller/seller_controller/removeRow

这就是seller_controller来了两次。我也面临着使用重定向的这种类型的连接问题。所以我需要知道切换同一控制器的最佳方式是什么。有什么好的解决方案吗???

像一样尝试

<a href="<?php echo site_url('seller_controller/removeRow');?>" >CLICK TO REMOVE </a>

或者你也可以试试

<a href="<?php echo site_url().'seller_controller/removeRow';?>" >CLICK TO REMOVE </a>

您继续使用base_url(),因为它不包括索引页(可能是index.php),其中site_url()base_url()index url组合。

在请求脚本时使用ob_start();

之所以会发生这种情况,是因为您的链接是相对的,即它被添加到当前URI减去最后一部分。把它想象成目录和文件——最后一部分(viewcart)是一个文件,其余部分是一个目录。相对链接的意思是"嘿,带我去这个文件(removeRow),但从当前目录开始挖掘"。

这意味着,如果你有http://localhost/ignitershop/index.php/seller_controller/viewcart,并且在那里你访问了一个包含内容<a href="one/two/three">Link</a>的链接,它会将你发送到http://localhost/ignitershop/index.php/seller_controller/one/two/three

要修复它,请相应地使用URL帮助程序中的base_url()site_url()函数,这些函数将为您完成任务。查看文档以了解更多信息。

尝试使用site_url()或base_url()来使用绝对路径