【问题标题】:codeigniter url base path not working/prependingcodeigniter url基本路径不起作用/前置
【发布时间】:2023-04-06 07:07:01
【问题描述】:

嘿,所以我在 Codeigniter 本地开发,我的项目文件夹是:

http://localhost/feeder_final/

当我做这样的事情时:

header('Location: /site_client/dashboard');

或单击 href='/site_client/' 它重定向到:

http://localhost/site_client/

不是:

http://localhost/feeder_final/site_client/

我觉得我什么都试过了……base_url、htaccess 等等,

但我就是无法让它工作。感谢您的帮助。

【问题讨论】:

    标签: php codeigniter mod-rewrite base-url


    【解决方案1】:

    将 base_url() 用于 HTML 资产,例如:图像、js 和 css,例如:

    <script src="<?php echo base_url('js/jquery.js'); ?>"></script>
    

    使用 site_url() 作为链接,例如:

    <a href="<?php echo site_url('controller/function'); ?>">Link</a>
    

    【讨论】:

      【解决方案2】:

      最好使用 base_url() 或 site_url() 以防您将来更改域。

      顺便说一句。您也可以使用 site_url('controller/method') 相同的重定向 => redirect('controller/method')

      【讨论】:

        【解决方案3】:

        你在尝试base_url的时候,后来有没有加括号? base_url() 是一个函数,所以它需要括号。请参阅Codeigniter manual。这应该有效:

        header('Location: '.base_url().'site_client/dashboard/');
        

        <a href="<?=base_url()?>site_client">site client</a>
        

        【讨论】:

        • 我同意 GluePear。如果您在配置中设置了base_url,那么您应该以这种方式使用它。
        • 非常感谢,我不知道为什么,但我认为有一种方法可以绕过将 'base_url()' 添加到每个 url,我猜不是。我们以前不需要它,因为我们没有在本地开发,只是在开发站点上,除了主机之外没有任何基础。
        猜你喜欢
        • 2022-11-29
        • 1970-01-01
        • 2013-07-06
        • 2013-04-06
        • 2017-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-27
        相关资源
        最近更新 更多