【问题标题】:Codeigniter parametersCodeigniter 参数
【发布时间】:2012-10-20 23:42:41
【问题描述】:

我已阅读 URI 参数用户指南,但仍有一个问题:

http://codeigniter.com/user_guide/general/routing.html

使用以下内容: {http://myapp/locations/1} 我收到 404 错误... {http://myapp/locations} 在主控制器中适当地执行 index() 函数 {http://myapp/locations/main/locations/1} 有效,并且该值正确传递给 index($var)

我在 Main 中确实有其他功能。

如何让第一行工作以清理 URL?

提前致谢, 艾伦

【问题讨论】:

    标签: codeigniter codeigniter-2 codeigniter-url codeigniter-routing


    【解决方案1】:

    CodeIgniter 将 url 读取为 domain/controller_name/method-name/method_parameters 并且在您的第一个 url 中 http://myapp/locations/1 第一部分 (myapp) 是您的域名,第二部分 (locations) 是您的控制器名称,第三部分应该是控制器的方法名称在这种情况下,您已经传递了1,显然没有这样的方法名称,所以它显示错误。

    如果您像在此 url http://myapp/locations 中一样传递 domain/controller_name,则 CodeIgniter 将第一部分读取为 domain_name,将第二部分读取为 controller_name,当 url 中没有第三部分时CodeIgniter 默认调用 index 方法/函数,因此您的第二个 url 可以正常工作。

    在您的最后一个网址中,您有http://myapp/locations/main/locations/1,它被读作

    myapp-域名

    locations-控制器名称

    main-方法/函数名

    其余的都作为main控制器的参数传递。所以请记住,url 的第三部分是 method/function 名称,如果没有给出第三部分,则 CodeIgniter 默认调用 index 方法,在这种情况下,您必须声明默认的 index 方法/函数在那个控制器中,否则会发生错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-20
      • 2013-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多