For security reason codeigniter4 folder is made suchg a way that all the libraried and code folder is outside the public folder. By url only public folder is accesible. To host it on share hosting your directory structure should look like this.
--home/root (sharehosting root directory) |__ public_html (or your domain root folder) | |__assets | |__ index.php | |__ .htaccess | |__ codeigniter (create a folder with any name you like) |__ app(all the files and folder in app folder) |__ system |__ writable |__ .env (dot env file here)
Now you need to change some values to up and running your codeigniter4 project
index.phpfile chnage the
$pathsPath = FCPATH . '../app/Config/Paths.php';to
$pathsPath = FCPATH . '../codeigniter/app/Config/Paths.php';
$baseURL = 'http://192.168.0.111/';to
$baseURL = 'http://yourdomain.com/';.
After this chnage your site will be up and running. To deploy in subdomain and if your subdomain root folder lies in public_html then you should change
$pathsPath = FCPATH . '../app/Config/Paths.php'; to
$pathsPath = FCPATH . '../../codeigniter/app/Config/Paths.php'; in
index.php file, followed that directory structure remains same. Important: public folder content should be placed in your subdomain folder.
Nguồn : https://stackoverflow.com