【问题标题】:Codeigniter routing on shared host共享主机上的 Codeigniter 路由
【发布时间】:2016-08-02 18:06:47
【问题描述】:

我第一次尝试将我的 codeigniter 应用程序从我的 WAMP 安装移动到共享主机 (justhost)。

在我的 public_html 文件夹中,我已经包含了我的应用程序的所有文件夹和文件。因此,例如,当我在文件管理器中打开 public_html 时,我会看到我的“应用程序”文件夹。

我有一个控制器“Lander”,我通过$route['default_controller'] = 'Lander' 将其设置为默认值

当我访问 www.mywebsite.com 时,我确实看到了从 Lander 控制器加载的视图。问题是在该视图中我有一个链接<a href="login">Log in</a>,当我在 WAMP 上运行时,它会打开登录控制器,它与 Lander 控制器位于同一文件夹中。当我从托管站点单击此链接时,URL 转到 www.mywebsite.com/Login,但我得到 404 未找到。

【问题讨论】:

    标签: php codeigniter url hosting


    【解决方案1】:

    在 Config.php 中

    $config['base_url'] = 'http://stackoverflow.com/';
    $config['index_page'] = ''; # remove index.php
    

    .htaccess 应该是

    RewriteEngine on
    RewriteCond $1 !^(index\.php|assets|image|resources|robots\.txt)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
    

    链接应该是

    <a href="<?php echo base_url() ?>login">Log in</a>
    

    应该有一个控制器调用login或在你应该定义的路由

    【讨论】:

    • 您的网站网址是什么??
    • 我已经添加了你的 htaccess,但我仍然找不到我的登录控制器
    • 我认为它现在可以工作了。我尝试了几件事,包括将我的控制器重命名为 Login 而不是 login,我得到了结果。
    • @David 乐于助人:)
    猜你喜欢
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多