To remove public and index.php from URL in Codeigniter 4 framework, you just need to create .htaccess file on the root directory of the codeigniter app and set some configuration on config.php
.
In this tutorial, we would love to share with you, how to remove public and index.php from URLs in the new Codeigniter 4 frameworks.
How to remove public index.php from URL in Codeigniter 4
Here are some steps to remove the public index.php from URL in Codeigniter 4 framework with xampp or wamp server:
- Step 1: Change in App.php File
- Step 2: Copy index.php and .htaccess
- Step 3: Change In index.php
Step 1: Change in App.php File
The first step is to open the app.app file. And the changes mentioned below. You have to do this in your App.php file.
So go to project_name/app/Config/App.php and change mentioned below:
public $baseURL = 'http://localhost:8080'; To public $baseURL = 'http://localhost/your_project_name/';
And the second change in the app.php file:
public $uriProtocol = 'REQUEST_URI'; To public $uriProtocol = 'PATH_INFO';
Step 2: Copy index.php and .htaccess
Visit inside public directory. And copy index.php and .htaccess to the codeigniter app root directory.
Step 3: Change In index.php
In the root project directory, open index.php and edit the following line:
$pathsPath = FCPATH . '../app/Config/Paths.php'; change TO $pathsPath = FCPATH . 'app/Config/Paths.php';
If the above solution is not work for; so you can configure your apache server; as shown below:
In the apache server, the mode rewrite is already on. But some default values need to be changed on /etc/apache2/apache2.conf
file. Following are changes,
First, find
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
And change AllowOverride None to All and save.
Then enable mode rewrite using the command(In this case already enabeled),
$ sudo a2enmod rewrite
Then restart the server,
$ sudo /etc/init.d/apache2 restart
Conclusion
In this tutorial, you have learned how to remove the public and index.php in new Codeigniter 4 framework.
Now you can hit the below url in your browser.
example.com/hello
Thank you so much now working fine.
nice dear, i was found best solution thank you
i know its work fine but how to use command line after this type of configuration.
Gracias, me sirvio mucho este tutorail, gracias desde México
its working fine thank you.
Very nice post. I just stumbled upon your blog and wished
to say that I have really enjoyed surfing around your blog posts.
In any case I will be subscribing to your feed and I hope you write again soon!
where we fine index.php file ?
inside public directory of your codeigniter app
Thank you m,an
Thanks for the article mate. It worked smooth as butter for me. Wish I could donate.