如何解决有关CodeIgniter URL的基本问题
| 当我在CodeIgniter中创建控制器时,例如\“ login.php \”。我在其中创建一个公共函数\“ index \”,并在该函数中加载视图\“ login_form \”,CodeIgniter生成URLlocalhost/test/login
。
现在,如果我在同一控制器中创建另一个函数\“ register \”,则URL将为localhost/test/login/register
,但是我想创建类似于localhost/test/register
的URL。我是否需要创建一个新的控制器寄存器并在其中创建索引函数,或者可以通过在登录控制器中添加函数来生成相同的URL。 “通常”的处理方式是什么?
谢谢。
解决方法
如前所述,您可以(而且很可能应该)为此使用一条路线:
// config/routes.php
$route[\'register\'] = \'test/register\';
基本上是这样说的:如果要求/register
,请给他们/test/register
。
请注意,/test/register
仍然有效。如果您出于某种原因要禁用它,可以执行以下操作:
$route[\'test/register\'] = FALSE; // Or map to your 404 page
...但是一般来说您不需要。
请注意,使用路由并不能神奇地重写您的链接或其他内容,它只是在发出请求时将请求路由到其他地方。
重新映射非常酷,但是您要问的绝对是路线的工作。仔细阅读用户指南,您可以使用它们做很多事情。
, 您可以使用以下方法之一来获得所需的结果:
http://codeigniter.com/user_guide/general/routing.html
http://codeigniter.com/user_guide/general/controllers.html#remapping
有关MVC的更多信息,请参见此处。
, 我建议阅读本指南,以了解如何通过登录检查扩展控制器(在本例中为register
)。这将使您在register
控制器的index
函数中具有受保护的代码。在其他控制器中,您可能需要添加。我认为在您的方法中,您现在正面临着拥有一个庞大的login
控制器的风险,而不是拥有一些结构和概述更多的小型控制器。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。