【问题标题】:is there any way to remove or hide the controller name in url? codeigniter有什么方法可以删除或隐藏 url 中的控制器名称?代码点火器
【发布时间】:2017-01-29 14:40:57
【问题描述】:

我在 php codeigniter 中开发了一个项目。该项目几乎完成,但现在我的经理希望我完全删除或隐藏 URL 中的控制器名称。我当前的网址如下所示:

http://www.sitename.com/Controller_Name/function_name

我的经理希望它看起来像这样:

http://www.sitename.com/function_name

请注意,我的项目中有超过 10 个控制器和许多功能。我想要一种适用于所有人的方法。请帮忙。

【问题讨论】:

标签: php codeigniter url


【解决方案1】:

您可以使用$route 执行此操作。

如果你只有一个 Controller 并且在那个控制器中你所有的 functions 你可以这样写:

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

如果您有多个Controllers,您需要为每个function 指定指向哪个控制器。像这样:

$route['function1'] = "Controller_Name1/function1";
$route['function2'] = "Controller_Name1/function2";
$route['function3'] = "Controller_Name3/function3";

你不能在$route中有重复

$route 数组应位于此处:application/config/routes.php

您可以在此处查看 CI 文档中有关路由的更多信息:https://www.codeigniter.com/userguide3/general/routing.html

【讨论】:

    【解决方案2】:

    您必须在路由文件中指定您的控制器和方法名称,如下所示

    $route['function_name'] = 'controller_name/function_name';

    您必须为控制器中的每个功能编写此代码。这样做有两个好处

    1) 控制器名称将隐藏在您的网址中 2)您可以只通过名称调用某些方法。无需每次都使用控制器名称。

    【讨论】:

      猜你喜欢
      • 2019-03-22
      • 2013-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 2013-02-27
      相关资源
      最近更新 更多