【问题标题】:CodeIgniter Routing 404 ErrorCodeIgniter 路由 404 错误
【发布时间】:2013-09-24 16:19:57
【问题描述】:

我是 CodeIgniter 的新手,无法确定路由。当我转到“/SimplePie1”时,出现 404 页面未找到错误。是我的路由问题,还是我弄乱了控制器或视图?谢谢。

我的控制器:

class Feeder extends CI_Controller {

    public function index()
    {
        $this->load->library('rss');
        $feed = $this->rss;
        $feed->set_feed_url('http://www.theverge.com/rss/frontpage');
        $success = $feed->init();
        $feed->handle_content_type();

        $this->load->view('feed_view', array('feed' => $feed));
    }
}

我的看法:

<?php include_once('header.php'); ?>
<?php include_once('navbar.php'); ?>

<?php foreach($feed as $item) : ?>
    <br />
    <a href="<?php echo $item['permalink']; ?>"><?php echo $item['title']; ?></a>
<?php endforeach; ?>

<?php include_once('footer.php'); ?>

我的路线:

$route['default_controller'] = "homeController";
$route['feed_views'] = "SimplePie1";
$route['404_override'] = '';

【问题讨论】:

  • 如果你去 /Feeder/index 会发生什么? CI 允许通过控制器/函数访问 URL。

标签: php codeigniter


【解决方案1】:

以下代码表示

$route['feed_views'] = "SimplePie1";

如果您在url 中有feed_views,则启动SimplePie1 控制器,默认情况下会调用index 方法,所以现在的问题是:您有一个名为SimplePie1 的控制器类吗?如果没有,它应该显示一个404 not found 错误。

我觉得应该是的

$route['feed_views'] = "Feeder";

所以,它将被映射到Feeder/index(类/方法)。 阅读更多documentation

【讨论】:

  • 谢谢。修复。把我的名字弄混了。
【解决方案2】:

你到底想做什么?

假设您的默认控制器是 feeder ,因此“/feeder”将加载 index 函数,该函数加载 feed_view 而没有路由只是默认控制器。

在路由中你重写控制器及其方法,而不是你在 route.php 中提到的视图名称。

评论URI Roouting

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-01
    • 2016-08-04
    • 2019-07-21
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多