Laravel on Bluehost Shared Hosting

Project Code

Create new directory at root called “laravel” and put entire project minus the public folder there. Create a new .env file and call it .env.production. Change the values inside that file to reflect the production environment. Upload that file to the production server and rename it to .env.

Public Code: Subdomain

Do this if you want to put the public folder into a subdomain (like for testing). Create your subdomain through cPanel and your directory structure will be /public_html/subdomain. Clear out the “subdomain” folder.

In the public folder, create a new file and call it bluehost.index.php or whatever – just so you know it’s the index file only for the live site. Copy the contents of index.php into it.

Then, change

`require __DIR__.'/../bootstrap/autoload.php';`


`require __DIR__.'/../../laravel/bootstrap/autoload.php';`


`$app = require_once __DIR__.'/../bootstrap/app.php';`


`$app = require_once __DIR__.'/../../laravel/bootstrap/app.php';

// set the public path to this directory
// so that public_path() still works
$app->bind('path.public', function() {
    return __DIR__;

Now upload the contents of your public folder to the subdomain directory. Rename bluehost.index.php to index.php.

Leave a Reply

Your email address will not be published. Required fields are marked *