I had trouble with this also. What you have to do is put the "public" folder in your "www" directory (or the appropriate public_html folder if you use a virtual machine). Next you have to put the WHOLE application in your var folder in a directory of your choice, lets call it "MySuperCoolFolder". Finally, you have to modify the index.php file. More specifically, these two lines.
require __DIR__.'/../bootstrap/autoload.php';
to
require __DIR__.'/../MySuperCoolFolder/bootstrap/autoload.php';
and
$app = require_once __DIR__.'/../bootstrap/app.php';
to
$app = require_once __DIR__.'/../MySuperCoolFolder/bootstrap/app.php';
And that should do it. If it does not work. Go to the documentation and use the .htaccess file they provide. That did the trick for me.
Best of Luck!
Reference: https://medium.com/laravel-news/the-simple-guide-to-deploy-laravel-5-application-on-shared-hosting-1a8d0aee923e#.nvinp0r3e