I'm using XAMPP on Windows 10. I also tried many times to remove the .php
extension but the result was the same. But after a long while finally, I got how we can do this. If you want the same results, just follow the steps given below...
To remove the .php
extension from a PHP file, e.g. if you want to change mywebsite.com/about.php
to mywebsite.com/about
you have to add the following code inside your .htaccess
file:
First of all, make sure you've created a new file named .htaccess
and placed it at your root-level/root-directory
where your index
file is placed.
Now, open this (.htaccess) file with any editor of your choice, copy/paste the given code and save it...
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ $1.php [NC,L]
Now, if you (any user) will access mywebsite.com/about
in the browser, the user will see the content of mywebsite.com/about.php
page.
But still, if you (any user) will access the URL as mywebsite.com/about.php
, this will not redirect the user to this mywebsite.com/about
page. But will go to this mywebsite.com/about.php
page which means the user can still visit mywebsite.com/about.php
page. Don't worry about it. If you want to avoid this, you can simply follow the next step.
To avoid the above problem, now you need to add some more rules in the .htaccess
file. For this, you've to replace your old code with this new one given below, save your file and check it out...
RewriteEngine On
RewriteCond %{THE_REQUEST} /([^.]+)\.php [NC]
RewriteRule ^ /%1 [NC,L,R]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [NC,L]
That's all and you're all set.
I hope this will fix everyone's problem.
Have a nice day :)