【问题标题】:Codeigniter force all traffic to specific controller and methodCodeigniter 强制所有流量到特定的控制器和方法
【发布时间】:2015-08-01 01:06:52
【问题描述】:

如果这是重复的,我很抱歉,但经过几个小时的互联网搜索后,我正在绘制一个空白......

我正在尝试将所有流量强制删除到特定的控制器和方法,这样我的 url 将读取一件事,但又是另一件事。最终结果是这样的:

https://www.domain.com/home/pages/about

会变成这样:

https://www.domain.com/about

我尝试使用路由无济于事。不要误会我的意思,我已将默认设置为使用该路由,并且主页加载得很好,但子页面不遵循它并给出 404 错误。 默认路由:

$route['default_controller'] = 'home/pages';

我尝试过的众多变体之一:

$route['home']['pages'] = 'home/pages';

这可以通过路线实现吗?

【问题讨论】:

  • 我认为您没有 CI-2CI-3 文档。你会得到很多例子来解决这个问题。

标签: php codeigniter redirect routes


【解决方案1】:

我发布此内容是因为在我即将提交此内容前 30 秒,我在另一页(codeigniter 手册)上阅读了一些我之前错过的内容...

解决此问题的方法是添加如下自定义路由:

$route['default_controller'] = 'home/pages';
$route['(:any)'] = 'home/pages';

这与默认路由一起强制所有页面使用主控制器和 pages 方法。它提供了漂亮漂亮的 URL。

【讨论】:

    【解决方案2】:

    如果您还想覆盖 404,例如您是数据库驱动的系统,在 URL 中有基本 slug:

    $route['default_controller'] = 'home/pages';
    $route['404_override'] = 'home/pages';
    $route['(:any)'] = 'home/pages';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多