【问题标题】:Codeigniter Routing remove controllerCodeigniter 路由删除控制器
【发布时间】:2011-10-10 18:22:59
【问题描述】:

我想路由,以便“域”部分消失,

http://www.domaininfo.za/domain/google.com

这样的事情

http://www.domaininfo.za/google.com

我已经设法删除了欢迎部分,但是如何删除域?

我的路线文件:

$route['default_controller'] = "welcome";
$route['404_override'] = '/';
$route['(:any)'] = "welcome/domain/$1";

【问题讨论】:

  • 于是他们发明了 mod-rewrites
  • 不太了解您需要什么..您已经做到了,不是吗?
  • 我想从 url 中删除“域”。
  • 你已经做到了,伙计..你的路由就是这样做的......它需要任何第一段(应该是一个控制器)并将它重新路由到你喜欢的任何地方,所以你的 URL 现在可以是只有一段
  • 你必须使用 mod-rewrite。路由不会从 URL 中删除域,它只是创建了一个备用语法来使用……所以你仍然可以只使用路由器。 Mod-rewrite 会在 Codeigniter 处理之前将任何其他请求重写为“无域”url。

标签: php codeigniter routing


【解决方案1】:

不确定这是否是您要问的,但这对您有用吗?

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

【讨论】:

  • 不,这给了我一个错误无法加载您的默认控制器。请确保您的 Routes.php 文件中指定的控制器有效。
  • @maccen 要使其工作,您需要一个名为“domain”的控制器(在任何情况下,您都可以将其替换为您想要的任何控制器);除此之外,看起来非常适合您的情况
【解决方案2】:

您的路由很危险...我会在路由键中放置一个正则表达式以识别 Web 域,然后将其路由到 Welcome/domain/$1。现在您正在将控制器空间中的所有值路由到welcome/domain/$1。最好在路由器中重写或使用正则表达式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多