I know this is a very popular question but I haven\'t been able to find a working solution for Laravel 5. I\'ve been trying to migrate from Codeigniter for a long time, but
For XAMPP user to remove public from url without touching laravel default filesystem is to set a Virtual Host for your application to do this jsut follow these steps
Open the XAMPP control panel application and stop Apache. Be aware that late Windows machines might run it as a service, so check the box to the left of the Apache module.
Navigate to C:/xampp/apache/conf/extra
or wherever your XAMPP files are located.
Open the file named httpd-vhosts.conf with a text editor.
Around line 19 find # NameVirtualHost *:80
and uncomment or remove the hash.
At the very bottom of the file paste the following code:
ServerAdmin admin@localhost.com
DocumentRoot "C:/xampp/htdocs" # change this line with your htdocs folder
ServerName localhost
ServerAlias localhost
Options Indexes FollowSymLinks Includes ExecCGI
Order allow,deny
Allow from all
ServerAdmin admin@localhost.com
DocumentRoot "C:/xampp/htdocs/eateryengine" # change this line with your htdocs folder
ServerName eateryengine.dev
ServerAlias eateryengine.dev
Order allow,deny
Allow from all
C:/Windows/System32/drivers/etc/hosts
, where hosts is the file. Open it with notepad.127.0.0.1 localhost
127.0.0.1 localhost
127.0.0.1 eateryengine.dev #change to match your Virtual Host.
127.0.0.1 demo.eateryengine.dev #manually add new sub-domains.
The original article can be found here