I have following structure of my project
/system
/applications
/cache
/core
/helpers
/hook
/language
/libraries
/logs
/third_party
/admin-panel
/config
/controllers
welcome.php
dashboard.php
/errors
/models
/views
welcome.php
dashboard.php
/user-panel
/config
/controllers
welcome.php
dashboard.php
/errors
/models
/views
welcome.php
dashboard.php
/admin
index.php
index.php
My index.php inside my project folder has user-panel as my application folder and index.php in admin folder has admin-panel as my application folder.
I have inserted this line $route['default_controller'] = "welcome"; $route['welcome'] = 'welcome'; in routes.php inside both user-panel and admin-panel
I can access welcome controller of my both user-panel and admin-panel by using http://localhost/myproject and http://localhost/myproject/admin
but i cannot access my dashboard controller by using http://localhost/myproject/dashboard or http://localhost/myproject/admin/dashboard
my dashboard controller is accessible by using http://localhost/myproject/index.php/dashboard or http://localhost/myproject/admin/index.php/dashboard
But i dont want index.php included in my url. I want to remove it. I have also tried by using .htaccess inside my admin folder. I write following line in this
RewriteEngine On
RewriteCond $1 !^(index\.php|(.*)\.swf|robots\.txt)
RewriteRule ^(.*)$ index.php/$1 [L]
but this didn't work for me. It give 404 not found CI error. I have also enabled mod_rewrite by changing AllowOerride None to AllowOverride All in httpd.conf. Please tell me what should i do to remove index.php and where should i place my .htaccess files in my project directory.
To remove the “index. php” from your site's URLs, you will first need to make sure your server is set up to pass would-be 404 requests off to Craft's index. php file behind the scenes. If you're running Apache, you can do that by creating a redirect in your site's .
The first reason why index. php appears in the URL might be because the structure of permalinks is not set properly in WordPress Settings. So to verify if the structure of permalinks is set properly, let's check the permalink tab in WordPress Dashboard.
Be sure of the following :
if your root folder for project is not root of domain i.e. your website is subdirectory of a domain http://localhost/myproject
then you need an additional line in your .htaccess file that is RewriteBase
RewriteEngine On
RewriteBase /myproject
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Also make sure, your config.php is configured as
$config['base_url'] = 'http://localhost/myproject/';
$config['index_page'] = '';
And mod_rewrite is enable in apache's config file.
Open config.php from system/application/config directory
and replace
$config['index_page'] = “index.php” by $config['index_page'] = “”
Create a “.htaccess” file in the root of CodeIgniter directory
and add the following lines.
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
In some case the default setting for uri_protocol does not work properly.
To solve this problem just replace
`$config['uri_protocol'] = “AUTO”`
by
$config['uri_protocol'] = “REQUEST_URI”
from system/application/config/config.php
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With