【问题标题】:How to disable CodeIgniter routes for certain directory?如何禁用某些目录的 CodeIgniter 路由?
【发布时间】:2013-10-07 17:23:56
【问题描述】:

有人问了类似的问题,但我想找到一种方法来做到这一点,而不更改 .htaccess,而是更改 routes.php。

我将 wordpress 安装为子目录,根目录是 codeigniter。所以我的 routes.php 看起来像这样:

$route['(:any)'] = 'site/dispatch/$1';
$route['default_controller'] = 'site/dispatch';

wordpress 的根是mysite.com/blog

如果我写mysite.com/blog,它会显示WordPress的主页,所以没有问题, 但是如果我写mysite.com/blog/post-name,我会看到 CodeIgniter 的错误页面:

遇到错误无法加载请求的文件:

pages/post-name.php

那么,有没有一种方法可以配置我的 routes.php,这样如果 url 以 mysite.com/blog 开头,它就不会“干扰”?

【问题讨论】:

  • 这会在您的 .htaccess 中得到更好的处理。

标签: php wordpress .htaccess codeigniter routes


【解决方案1】:

http://ellislab.com/codeigniter/user-guide/general/routing.html

Codeigniter 路由只将 URI 指向它自己的控制器,所以你不能这样做。

我同意 @Jeemusu 的观点,您的 .htaccess 或任何服务器端路由等效项是此处的合适选项。

【讨论】:

  • 我很高兴我不必再处理 .htaccess 了,好吧,你又赢了 .htaccess :) 谢谢你的帮助!
  • 嘿@jeff 你最后是怎么解决这个问题的?我刚刚在 /blog/ 文件夹中安装 Codeigniter 作为主应用程序和 WordPress 时遇到了同样的问题。
【解决方案2】:

$route['(:any)']之前添加这个$route['blog'] = "blog";

【讨论】:

  • 谢谢!但这并没有改变这种情况。我也试过]="blog/";
猜你喜欢
  • 1970-01-01
  • 2013-01-05
  • 2018-03-16
  • 2016-04-23
  • 1970-01-01
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多