通过 cPanel 将 CodeIgniter4 上传到共享主机

问题描述 投票:0回答:2

我使用 Composer 在本地 PC 中设置 CodeIgniter4。我也完成了开发。

问题是,我正在尝试将此应用程序部署到具有 cPanel 的共享主机。

我已将内容(spark 和构建文件除外)压缩到我的共享主机中的

/public_html/
文件夹。因为主域指向这个
/public_html/
我没法改

现在面临的问题是,如果我访问

www.mysite.com/public
,它会加载网站。但是如果我只访问域名就不会加载
www.mysite.com

我的目录/文件结构如下(在服务器中):

所以我基本上希望在我只访问域时为网站提供服务。我的第二个问题是,从我分享的屏幕截图来看,是否有任何文件或文件夹不需要在生产服务器中?


编辑:

这是我试过的

.htaccess
里的
/public_html/
文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ public/index.php/$1 [L]
codeigniter deployment cpanel shared-hosting codeigniter-4
2个回答
0
投票

我建议你这样做:

将“public”文件夹中的文件放入服务器上的“public_html”文件夹中。

对于其他的CI目录和文件,创建并放置在服务器根目录名为“ci”的文件夹中,不要将它们放在“public_html”中,以防万一,任何人都无法访问。

您的 index.php 将位于“public_html”中,现在您将变量“$pathsConfig”更改为该路径。 $pathsConfig = FCPATH 。 '../ci/app/Config/Paths.php';

它应该工作...


0
投票

尝试将此添加到您的

/public_html/.htaccess

DirectoryIndex /public/index.php  
RewriteEngine On
RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
RewriteRule ^(.*)$ public/$1 [L]
© www.soinside.com 2019 - 2024. All rights reserved.