【问题标题】:Codeigniter redirect with base_urlCodeigniter 使用 base_url 重定向
【发布时间】:2023-04-04 11:01:02
【问题描述】:

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

anchor('controller/method'):

<a href="http://localhost/dts/controller/method">Link</a>

&lt;a&gt;:

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

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

我问是因为我有一个调用另一个方法method2 的表单,它有一个redirect('controller/method')。但它错误地重定向到controller/controller/method2,然后如果再次提交表单,重定向到controller/controller/controller/method2等等。

这就是为什么我想知道如何使用预先添加的 base_url 重定向到控制器/方法。 redirect( base_url() . 'controller/method' ) 不起作用。

index_page 设置为:

$config['index_page'] = "";

base_url 设置为:

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

.htaccess:

<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>

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

有什么想法吗?

【问题讨论】:

    标签: .htaccess codeigniter redirect codeigniter-url


    【解决方案1】:

    几乎是 kemp,但不需要斜线。

    redirect('controller/method');
    

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

    【讨论】:

    • 我认为 OP 得到的是预期的行为,因为他提供了相对路径。
    • 老兄,我在上面添加了 base_url 信息
    • 我更新了上面的 base_url 和 index_page 值,我之前错误地复制了它。
    • kemp:redirect() 中的斜线只是把事情搞砸了,它对相对/绝对没有影响。 Obay:你是如何提交表格的?如果您不使用 form_open('controller/method') 可能会导致问题。
    • 我手动做
      ,哈哈我应该试试 form_open()
    【解决方案2】:
    redirect('/controller/method');
    

    【讨论】:

    • 好吧,“程序”是我的网络应用程序的名称
    • 我更新了上面的 base_url 和 index_page 值,我之前错误地复制了它。
    • 好吧,在base_url 中设置程序名称并使用我的答案中的语法对我来说很好:它重定向到http://host/program_dir/controller/method
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-19
      • 1970-01-01
      • 1970-01-01
      • 2018-07-26
      • 2013-03-12
      • 1970-01-01
      • 1970-01-01
      • 2010-10-17
      相关资源
      最近更新 更多