php – 在CodeIgniter中为(:any)路由

前端之家收集整理的这篇文章主要介绍了php – 在CodeIgniter中为(:any)路由前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使我的CodeIgniter应用程序与wordpress类似.

我希望能够创建这些URL:

http://www.example.com/my-post-example

http://www.example.com/new-headline-here

http://www.example.com/i-love-stackoverflow

我的路由:

$route['(:any)'] = "core/index/$1";

这将调用我的核心控制器并将页面名称传递给索引函数.

然后,我在我的数据库中查找页面名称,并将页面显示用户.到现在为止还挺好.

但是,有时候我想调用另一个控制器.例如:

http://www.example.com/admin/edit_page/3

http://www.example.com/admin/settings

现在我假设我的路线将抓住所有这些规则并将它们发送到我的核心控制器.有没有办法为某些页面制作例外?或者在我的Core控制器中进行此检查是个好主意.

例如,

if ($page not in DB) {
   // Call controller/method
}

这似乎有点多余,因为我只想让CodeIgniter来处理这个问题.

您使用它的路由规则可以满足您的需要.

如果您使用http://www.example.com/admin/edit_page/3此链接,它将向您发送管理员控制器和edit_page方法.它不会使用路由任何规则.

但是,如果您的链接看起来像这样,您将遇到一个问题

http://www.example.com/my-post-example/test

它将尝试使用my-post-example控制器和测试方法.

再次http://www.example.com/admin将使用路由任何规则,这意味着它将重定向到核心控制器而不是admin / index.在这种情况下,您的网址应为http://www.example.com/admin/index

最后如果您使用控制器/方法名称调用其他链接,则可以使用任何规则

原文链接:https://www.f2er.com/php/134260.html

猜你在找的PHP相关文章