我的CakePHP v3.x应用程序在我的本地Vagrant环境中运行良好,但是当我部署到Heroku时,我为/webroot/vendor/...
该目录外的CSS和javascript文件加载正常。
https://example.com/js/i_load_fine.js
https://example.com/vendor/i_cause_403_error.js
/ Procfile
web: vendor/bin/heroku-php-apache2
This question听起来很相似,但我查了一下.htaccess已经推荐了RewriteCond:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
答案 0 :(得分:8)
我想知道&#34;供应商&#34;在Heroku中是一个保留字?
是的,如果您将使用&#34;供应商&#34;文件夹名称,可能是错误403错误。
因为root目录Web服务器vendor/bin/
。
不要使用公共名称&#34;供应商&#34;和&#34; bin&#34;。
答案 1 :(得分:1)
为了它的价值,我只看到了同样的问题(有一个&#34;供应商&#34;文件夹一直有403错误)。
我将供应商文件夹重命名为&#34; v&#34; (和固定的参考),一切都很好。
我想知道&#34;供应商&#34;在Heroku中是一个保留字?
答案 2 :(得分:0)
事实证明我必须将文档根指定为Procfile中的第二个参数:web: vendor/bin/heroku-php-apache2 webroot/