PHPStorm 和 CodeIgniter 路由问题

Posted

技术标签:

【中文标题】PHPStorm 和 CodeIgniter 路由问题【英文标题】:PHPStorm and CodeIgniter routing issue 【发布时间】:2015-08-07 00:41:16 【问题描述】:

我开始学习 CodeIgniter Web 框架,并尝试在 Kubuntu 14.04 上使用 phpStorm 8.0.3。当我将 CodeIgniter 下载的存档解压缩到根 Apache 文件夹 /var/www/html 并转到

localhost/index.php 

然后它工作正常,我看到“欢迎使用 CodeIgniter!”页。还有我 可以用

localhost/index.php/welcome/index 

并查看应有的页面。

当我在 PHPStorm 中创建一个新的 PHP 项目并尝试时

localhost:63342/codeignitor/index.php/ 

然后我会看到欢迎页面,但如果我使用

localhost:63342/codeignitor/index.php/welcome/index

然后我得到 404 页面。我自己的所有控制器也不可用,并且 导致 404。

只有当我将其设为默认时,我才能调用我自己的控制器

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

我认为出现此问题是因为 URL 包含我的项目名称 /codeignitor/,但我不确定。所以我需要你的建议,如何在 PHPStorm 中正确设置 CodeIgniter 环境来解决这个问题。谢谢!

【问题讨论】:

删除/index.php 并保留其余部分时会发生什么 localhost:63342/codeignitor/ - 我看到欢迎页面 通知:localhost:63342/codeignitor/welcome/index localhost:63342/codeignitor/welcome/index - 404,不幸的是:( 我应该以某种方式告诉 CodeIgniter 路由子系统“看不到 /codeignitor/ URL 的一部分”,但我刚刚开始研究它。 【参考方案1】:

Codeigniter 使用 URL 来确定路由,因此 /codeigniter/index.php/welcome/index/index.php/welcome/index 不是相等的路径。我建议使用其中一种,并调整您的 /index.php 和 /config/routes.php 以适应您想要的路径。

参考资料:

Codeigniter Subfolder

https://www.codeigniter.com/user_guide/general/urls.html https://www.codeigniter.com/user_guide/general/routing.html https://www.codeigniter.com/user_guide/general/environments.html

【讨论】:

谢谢,您的回答对我有帮助。

以上是关于PHPStorm 和 CodeIgniter 路由问题的主要内容,如果未能解决你的问题,请参考以下文章

使用 get_instance() 时自动完成 Codeigniter

CodeIgniter 路由和 404 自定义错误

PhpStorm 内置服务器:找不到类“路由”(Laravel)

Codeigniter控制器和路由

Codeigniter 3.1.0:只有默认路由有效

路由不起作用codeigniter