将 CakePHP3 应用程序部署到 Ubuntu 服务器后,所有资产 return 404 响应
After deploying CakePHP3 application to Ubuntu server, all assets return 404 response
当我使用 git 推送将我的 CakePHP3 应用程序部署到 Ubuntu 服务器的 var/www/html/{project_name}
目录时,图像、css 文件、javascript 等所有资产...从 webroot 文件夹未加载。他们 return 404 响应。
这是我在 webroot
目录中的 .htaccess
文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ / [L]
RewriteRule (.*) / [L]
AllowOverride All
</IfModule>
这是我的 .htaccess
根目录:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/ [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
ReWriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我在根项目目录中通过 运行 composer install
修复了这个问题。
请注意,如果您的服务器为您的应用程序使用 PHP7 而不是 PHP5,则您应该安装通用包而不是丢弃的 PHP5 包。
当我使用 git 推送将我的 CakePHP3 应用程序部署到 Ubuntu 服务器的 var/www/html/{project_name}
目录时,图像、css 文件、javascript 等所有资产...从 webroot 文件夹未加载。他们 return 404 响应。
这是我在 webroot
目录中的 .htaccess
文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^$ / [L]
RewriteRule (.*) / [L]
AllowOverride All
</IfModule>
这是我的 .htaccess
根目录:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/ [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
ReWriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
我在根项目目录中通过 运行 composer install
修复了这个问题。
请注意,如果您的服务器为您的应用程序使用 PHP7 而不是 PHP5,则您应该安装通用包而不是丢弃的 PHP5 包。