为什么codeIgniter显示在这个服务器上找不到请求的URL?

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

但是,在我把这个项目移到debian服务器之后,它说:

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

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

谢谢…

Solutions Collecting From Web of "为什么codeIgniter显示在这个服务器上找不到请求的URL?"

首先启用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并保存该文件。

现在,你的问题已经解决了。

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

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

所以请检查你的命名对话

检查这些

  1. 控制器类名称class Admin extends CI_Controller
  2. 控制器文件名应该是admin.php
  3. 检查routes.php 。 在路由$route['default_controller'] = "admin";

Codelgniter URL示例:

 example.com/class/function/id/ 

所以请检查您的类名称是否正确,并调用URL而不是资本A – 管理员到管理员。

 <?php (defined('BASEPATH')) OR exit('No direct script access allowed'); class Admin extends CI_Controller { } 

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