【问题标题】:How do I use underscores and lowercase letters in URLs in Codeigniter 3?如何在 Codeigniter 3 的 URL 中使用下划线和小写字母?
【发布时间】:2019-06-10 03:53:36
【问题描述】:

我对遇到神秘问题感到恼火。 我的开发环境已经创建了以下目录结构。

document_root
 └ project
  ├ application
  │├ controllers
  ││└ admin
  ││ ├ Users.php
  ││ ├ Facility_Categories.php
  ││ └ Facilities.php
  │└ views
  │ └ admin
  │  ├ users
  │  │└ index.twig
  │  ├ facility_categories
  │  │└ index.twig
  │  └ facilities
  │   └ index.twig
  └ public
   └ index.php

在开发环境中,这些 URL 按预期出现。

https://www.example.com/project/admin/users/
 -> load admin/Users.php index function
https://www.example.com/project/admin/facilities/
 -> load admin/Facilities.php index function
https://www.example.com/project/admin/facility_categories/
 -> load admin/Facility_Categories.php index function

最近,当我将这些文件上传到测试环境时。 包含“下划线”的 URL 未正确显示。 看起来控制器没有加载。

https://www.example.com/project/admin/users/
 -> load admin/Users.php index function
https://www.example.com/project/admin/facilities/
 -> load admin/Facilities.php index function
https://www.example.com/project/admin/facility_categories/
 -> 404 Page Not Found (display codeigniter show_404 function)

顺便说一句,如果 URL 是大写的,控制器会加载,但视图不会。 (如果视图的目录名称是大写的,也会显示视图。)

https://www.example.com/project/admin/Facility_Categories/
 -> 500 Internal Server Error
      (Twig\Error\LoaderError : Unable to find template "admin/Facility_Categories/index.twig")

我想用小写的 URL 访问。我该如何解决这个问题?

【问题讨论】:

  • 需要仔细查看。提供的信息不充分。
  • 我可以看看你是如何加载树枝文件的吗?
  • 好的,从您的描述看来,您的 Facility_Categories.php 控制器是问题所在。所以你至少可以发布那个。还有什么是您的“开发”环境和您的“测试”环境。显然它们是不同的。

标签: codeigniter twig codeigniter-3 php-5.6


【解决方案1】:

我自己解决了这个问题,阅读以下网址

CodeIgniter Controller Case-Sensitive

CodeIgniter3 似乎只需要将控制器名称的第一个字母大写,之后全部小写。 (好的:Facility_categories.php NG:Facility_Categories.php)

我刚改了2点。

  1. 将控制器文件名从 Facility_Categories.php 更改为 Facility_categories.php
  2. 将控制器类名称从 class Facility_Categories 更改为 class Facility_categories

现在我可以访问包含小写和下划线的网址

https://www.example.com/project/admin/facility_categories/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2011-03-09
    相关资源
    最近更新 更多