1

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

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

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

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

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

在此先感谢,艾伦

4

1 回答 1

1

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

如果您domain/controller_name像在此 url 中所做的那样通过http://myapp/locations,则 CodeIgniter 将第一部分读取为 thedomain_name和第二部分controller_name,当 url 中没有第三部分时,CodeIgniterindex默认调用方法/函数,因此您的第二个 url 正在工作.

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

myapp-域名

locations-控制器名称

main-方法/函数名称

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

于 2012-10-21T00:07:06.370 回答