【问题标题】:showing wrong path in codeigniter在 codeigniter 中显示错误的路径
【发布时间】:2013-07-01 00:45:23
【问题描述】:

在 Codeigniter 中, 我的文件是,

/application (folder)
 /controllers (folder)
   /welcome.php
   /upload (folder)
    /a.php
    /b.php
    /index.php

如果我打电话给http://localhost/you/upload/a,它会显示正确的控制器(a)。 和http://localhost/you/ 它显示welcome.php(默认控制器)。

但是如果我打电话给http://localhost/you/upload/,它会显示相同的welcome.php(默认控制器)。不显示index.php

我希望它显示 index.php404 errorurl redirect to default controller

帮帮我。

【问题讨论】:

  • 你的目录结构对我来说似乎很奇怪。我不认为你应该有一个上传文件夹,而应该只有一个 upload.php

标签: php codeigniter path controller


【解决方案1】:

在 codeigniter 控制器中,当您将控制器命名为 index.php 时,它是不一样的 您在主路径中定义 index.php 因为它是一个控制器并且您必须输入名称 的控制器。 如果你想先调用一个控制器 转到配置而不是打开 routs.php 并更改默认控制器

$route['default_controller'] = 'index';

它会起作用

【讨论】:

  • 我的意思是 index.php 文件首先在服务器中读取。但它是控制器。
  • index.php 表示“禁止访问”。不是控制器。我希望“欢迎”是默认的
【解决方案2】:

在 application/config/routes.php 中定义默认控制器

$route['default_controller'] = 'a';

【讨论】:

  • 为什么要更改我的默认控制器?
  • @KarSho 是因为当您调用 localhost/you/upload 而不指定 index.php 时,它会重定向到默认控制器,即“欢迎”
  • 不是重定向。 URL 仅保留 ../you/upload。但显示“欢迎”内容。
  • @RajeevRanjan 他在问为什么welcome在请求上传调用时加载不更改default_controller
  • @KarSho 当我们不提供控制器时它会加载默认控制器。在我之前的评论中我应该写它加载而不是重定向。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 2015-07-28
相关资源
最近更新 更多