Remove public from URL in laravel
Introduction#
How to remove public from URL in Laravel, there are many answers on internet but the easiest way is described below
How to do that?
Follow these steps to remove public from the url
- Copy
.htaccessfile from/publicdirectory toLaravel/projectroot folder. - Rename the
server.phpin theLaravel/projectroot folder toindex.php.
Cheers you will be good now.
Please Note: It is tested on Laravel 4.2, Laravel 5.1, Laravel 5.2, Laravel 5.3.
I think this is the easiest way to remove public from the url.
Remove the public from url
-
Renaming the
server.phptoindex.php -
Copy the
.htaccessfrompublicfolder torootfolder -
Changing
.htaccessa bit as follows for statics:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [L,R=301]
RewriteCond %{REQUEST_URI} !(.css|.js|.png|.jpg|.gif|robots.txt)$ [NC] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
Sometimes I’ve use this method for removing public form url.