Heroku

时间:2015-10-22 17:55:24

标签: javascript .htaccess cakephp heroku

我的CakePHP v3.x应用程序在我的本地Vagrant环境中运行良好,但是当我部署到Heroku时,我为/webroot/vendor/...

中的所有javascript文件收到403错误

该目录外的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>

3 个答案:

答案 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/