I am trying to remove \"index.php\" from url in Codeigniter. I know how to remove index.php from base url like this example.com/controller.
But i do
`Step:-1 Open the file config.php located in application/config path. Find and Replace the below code in config.php file.
// Find the below code
$config['index_page'] = "index.php"
// Remove index.php
$config['index_page'] = ""
Step:-2 Go to your CodeIgniter folder and create .htaccess file.
Path:
Your_website_folder/
application/
assets/
system/
user_guide/
.htaccess <--------- this file
index.php
license.txt
Step:-3 Write below code in .htaccess file
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Step:-4 In some cases the default setting for uri_protocol does not work properly. To solve this issue just open the file config.php located in application/config and then find and replace the code as:
// Find the below code
$config['uri_protocol'] = "AUTO"
// Replace it as
$config['uri_protocol'] = "REQUEST_URI" `
RewriteEngine On
RewriteCond %{HTTP} off
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
You might have to check if modrewrite
is installed and enabled in your apache
.
Enable modrewrite
sudo a2enmod rewrite
Also make sure
sudo vi /etc/apache2/apache2.conf
And allow symbolic link
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Restart apache2
and your .htaccess
should be working fine.
Read the last step at: https://www.inteligentcomp.com/2017/07/how-to-setup-and-configure-lamp-on-ubuntu-server.html
Write this code in your .htaccess file
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder/index.php [L]
</IfModule>
# END WordPress
Example : example.com/folder/index.php/contorller
after above code no need to write index.php
it's working..
Take the exact same steps you did on your folder for example.com to remove index.php from the base url on the example.com/folder folder. That is, edit/create the htaccess, removing index.php from config file, etc.
Update this variable in config.php $config['index_page'] = '';
. Remove index.php