I was going through all possible sample on internet to solve this. Still it is an headache.
I just want to avoid the \'public\' in www.mylaravelsite.com/public
www.mylaravelsite.com/public
Create .htaccess in root folder and write these line
RewriteEngine On RewriteRule ^(.*)$ public/$1 [L]
For production server it is recommended that you point your domain directly to the public folder