【问题标题】:php URL segment goes unexpected to indexphp URL 段意外索引
【发布时间】:2012-06-23 15:48:10
【问题描述】:

这很奇怪...我在 php (codeigniter) 中使用 MVC 模式来显示用户创建的类别。指向用户类别的 URL 是

http://mysite.com/categories/user

这适用于 Google Chrome 浏览器,但如果是 Firefox,它会将我带到索引。添加尾部斜杠...

http://mysite.com/categories/user/

...将我带到两个浏览器中的正确目的地。也可以重命名user 控制器。

内部控制器

function user()
{
        $data['query'] = $this->Category_model->read_all_user_categories();
        $this->load->view('categories/read/user_categories', $data);    
}

模型只返回一个查询。

通常是什么导致了这种行为?我查看了所有文件,但找不到罪魁祸首。

划掉可能的原因:

  • 我没有名为user 的相同函数
  • 没有控制器名为user
  • 没有库,助手名为user

会是什么?

【问题讨论】:

    标签: php codeigniter url slash


    【解决方案1】:

    我刚刚查看了 CI 的文档,并且:

    如果 URI 的第二段为空,则默认始终加载“索引”函数。

    抱歉信息有误。

    下面这句话仍然有效(确认:http://wordpress.org/support/topic/links-to-wordpress-post-tabs-pages-must-have-trailing-slash

    它在 Chrome 上运行而不在 Firefox 上运行的原因是由于 Chrome 在提交请求时删除了最后一个斜杠的行为。

    【讨论】:

    • 感谢您的信息!我看到了使用最后一个斜线的好处。我很困惑,因为重命名 user 方法在两种浏览器中都适用 斜杠或无斜杠
    • 什么意思?如果您从 user 重命名为 banana 是否有效?
    • 对不起,我刚刚更正了我的答案,因为上面的位是错误的。但是,“为什么它在 Chrome 上有效但在 FF 上无效”的答案仍然有效。你应该检查你的routes.php 文件。这可能会有所帮助:codeigniter.com/forums/viewthread/94028
    猜你喜欢
    • 2013-06-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    相关资源
    最近更新 更多