我有一个本地运行的 Laravel + Filament 环境,并且我设置了一些 Github 操作来部署在共享主机上,具体取决于推送的分支(分支开发 -> 开发 public_html/develop 目录和分支暂存 -> public_html/staging 目录)。
我设置了数据库和 .env 文件。
当我推动开发时,操作会在开发分支克隆存储库并运行作曲家安装和迁移,但它不起作用:
我不知道如何设置 htaccess 文件,也不知道如何正确放置文件。
你能帮我吗?
尝试以下答案。
如何将所有请求重定向到 laravel 5 中的 public/ 文件夹
这就是我所做的:
将 htaccess 文件从 public 文件夹复制到根文件夹(仅将原始文件保留在 public 中),并在根文件夹中的 htaccess 文件中添加两行。
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]
根文件夹 htaccess 文件如下所示。
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Remove public URL from the path
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,QSA]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
希望这个答案能帮到你!
如果您使用 GitHub 在 cPanel 上进行部署,特别是在启用 ssh 和终端时,请遵循本指南: