为啥 codeIgniter 显示在此服务器上未找到请求的 URL?

Posted

技术标签:

【中文标题】为啥 codeIgniter 显示在此服务器上未找到请求的 URL?【英文标题】:Why codeIgniter show the requested URL was not found on this server?为什么 codeIgniter 显示在此服务器上未找到请求的 URL? 【发布时间】:2016-01-08 19:28:52 【问题描述】:

我想问。首先,我会告诉我我已经在我的 windows dekstop 上开发了一个使用 codeIgniter 的应用程序。它清晰并完全运行。

但是,在我将该项目移至 debian 服务器后,它说:

The requested URL /index.php/Admin was not found on this server.

我想问,为什么我会得到这样的输出?尽管我使用相同的代码运行了相同的项目。我该如何解决这个问题?

谢谢...

【问题讨论】:

你是否为你的应用做了足够的路由配置 你用的是什么版本的codeigniter? 首先检查$config['base_url'].htaccess文件值。 【参考方案1】:

首先启用 mod_rewrite,然后使用以下命令重新启动 apache2:

sudo a2enmod rewrite
sudo service apache2 restart

然后使用命令打开 apache conf 文件:

sudo gedit /etc/apache2/apache2.conf

如果有注释,请取消注释

AccessFileName .htaccess

然后在 apache2.conf 中找到这些行

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted

这里将 AllowOverride None 行更改为 AllowOverride All 并保存此文件。

现在,您的问题已解决。

【讨论】:

一直在尝试找出一个没有 Codeigniter 的网站有效,而另一个使用 Codeigniter 的网站没有,您的回答解决了问题!太感谢了! +1 @JuOliveira 很高兴,它帮助了你。【参考方案2】:

首先您应该知道debian 是一个Linux 基础服务器。所以它不像 Windows 服务器(XAMPP 和 WAMP)。

所以首先考虑一下 Letters。这意味着 debian Sever 区分大小写

所以也要检查你的命名对话

检查这些

    控制器类名class Admin extends CI_Controller 控制器文件名应为admin.php 签入routes.php。在路线$route['default_controller'] = "admin";

【讨论】:

控制器文件名在codeigniter 3中应该是Admin.php大写 @wolfgang1983 文件名没有害处 但这就是我从 codeigniter 3 的开发人员那里得知的,因为有一些实时服务器。在小写的本地主机上工作正常,但当上线时可能会出现问题。 @wolfgang1983 但我查了一下。它的工作仍然没有伤害。一些你可能是正确的 参见codeigniter.com/user_guide/installation/… "从 CodeIgniter 3.0 开始,所有类文件名(库、驱动程序、控制器和模型)都必须以类似 Ucfirst 的方式命名"【参考方案3】:

Codelgniter URL 示例:

example.com/class/function/id/ 

所以请检查您的班级名称是否正确,并调用 url 而不是 Capital A - Admin to admin。

<?php (defined('BASEPATH')) OR exit('No direct script access allowed');

class Admin extends CI_Controller 


  

注意:如果你使用codelgniter-3版本文件名也必须大写A。我的意思是Admin.php

【讨论】:

我认为代码是正确的,因为我也将它托管到另一个 debian 服务器并且很清楚。但是为什么在这台服务器上,我得到了这样的输出?我认为服务器配置有一些问题,你知道吗?谢谢....

以上是关于为啥 codeIgniter 显示在此服务器上未找到请求的 URL?的主要内容,如果未能解决你的问题,请参考以下文章

CPanel 请求的 URL / 在此服务器上未找到

在此服务器上未找到请求的资源 /qrcodes

在此服务器上未找到请求的 URL /phpmyadmin

centos wordpress 在此服务器上未找到请求的 URL,

404 Not Found 在此服务器上未找到请求的 URL

Android_Beta 测试_在此服务器上未找到请求的 URL