I am using Laravel for web app. Uploaded everything on production and found out that some of the files can be directly accessed by url - for example http://example.com/compo
With Apache, you can create .htaccess file in the root directory of Laravel project to rewrite all requests to public/ directory.
RewriteEngine on RewriteRule ^(.*)$ public/$1 [L]