I want to ask. First of all, I will tell that I've develop an application use codeIgniter on my windows dekstop. And it clear and run completely.
But, after I move that project to debian server, it said :
The requested URL /index.php/Admin was not found on this server.
I want to ask, why I got an output like that? Eventhough I ran the same project with the same code. How can I do to fix this issue?
Thanks...
First of all enable mod_rewrite then restart apache2 using following commands:
sudo a2enmod rewrite
sudo service apache2 restart
then open apache conf file using command:
sudo gedit /etc/apache2/apache2.conf
uncomment below line if it is commented
AccessFileName .htaccess
then find these lines in apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
here change the line AllowOverride None to AllowOverride All and save this file.
Now, your issue is resolved.
First thing that you should know the debian
is a Linux base server. So Its not like windows servers(XAMPP and WAMP).
So first of all consider about Letters. It means debian Sever is Case-Sensitive.
So check your naming conversation as well
Check these
- Controller class name
class Admin extends CI_Controller
- Controller file name should be
admin.php
- Check in
routes.php
. In routes $route['default_controller'] = "admin";
Codelgniter URL example :
example.com/class/function/id/
So check your class name correct or not, And call url instead of Capital A - Admin to admin.
<?php (defined('BASEPATH')) OR exit('No direct script access allowed');
class Admin extends CI_Controller
{
}
Note: if you use codelgniter-3 version file name also must Should capital A. I mean Admin.php