【问题标题】:I want to remove controller as well as function name from url我想从 url 中删除控制器和函数名
【发布时间】:2017-05-04 04:43:25
【问题描述】:

我需要帮助来重写 url 并从 url 中删除控制器以及函数名称,因为 url 是我当前的 uel。

网址:http://localhost/example/Loadercontrol/detail/200

我想要这种类型的网址

网址:http://localhost/example/name(将 id 替换为名称)。

我已经尝试重写 url 以及

$route['example'] = 'localhost/example/Loadercontrol/detail';  

但它不起作用。我真的试图解决这个问题。请帮我。

【问题讨论】:

  • 嘿,我认为您需要为此使用slug。但是由于您也不需要控制器名称,因此您需要在 routes.php 中以某种方式从数据库创建路由
  • 如果您不想从数据库中写入路由,那么您可以这样做。 $routes["(:any)"] = "Loadercontrol/(:any');。但它会损害你的 404 页面重定向。
  • 像这样搜索蛞蝓stackoverflow.com/questions/3305786/using-slugs-in-codeigniter希望对你有帮助。
  • 这个链接会帮助你stackoverflow.com/questions/7094302/…
  • 我仍然得到相同的问题,我已经尝试在 routes.php 和 $route['example/(:num)'] = 'example/Loadercontrol/detail/$1';

标签: php codeigniter model-view-controller


【解决方案1】:

像这样试试..

$route['example/(:num)'] = 'example/Loadercontrol/detail/$1';

详情请看这里...https://www.codeigniter.com/userguide3/general/routing.html#wildcards

通配符实际上是正则表达式的别名,:any 分别被翻译为 [^/]+ 和 :num 被翻译为 [0-9]+。

【讨论】:

  • 我认为他需要将 :num 替换为 :any (在他的示例中,他想使用 name
猜你喜欢
  • 1970-01-01
  • 2016-11-02
  • 2014-12-16
  • 2011-11-28
  • 2013-08-15
  • 2017-04-10
  • 1970-01-01
  • 2015-05-06
  • 1970-01-01
相关资源
最近更新 更多