Member-only story
Before we start its worth caveating this post with the message: It’s always more desirable and recommended to serve Laravel apps from bespoke hosting environment.
There are plenty to choose, from first party tools like Forge and Vapour to more general providers like Digital Ocean, AWS and GCP.
However as i find myself in a similar situation there may be times you have to deploy on a CPanel environment.
I am going to cover the usual quite simple redirect you see across the web, but more importantly a second step thats usually left out. This second step can have a massive impact on your SEO.
The Redirect
As you may of found elsewhere theres a simple redirect you can put in the root folder of your project:
# Internally rewrite all top-level requests to the public directory <IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
It’s very simple and just redirects everything from the root of your site public_html
down into the public
folder of your Laravel project.
From there the .htaccess
provided with Laravel will take over and route incoming requests.
Job done? Maybe not…