2015-10-22 5 views
5

Mein CakePHP v3.x App läuft in meiner lokalen Vagrant Umgebung in Ordnung, aber wenn ich zu Heroku bereitstellen, erhalte ich 403-Fehler für alle Javascript-Dateien in /webroot/vendor/... befanden403 Fehler für js Dateien in Lieferantenverzeichnis auf Heroku

CSS und JavaScript-Dateien außerhalb dieses Verzeichnisses werden geladen.

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 klingt ähnlich, aber ich überprüft und .htaccess bereits die empfohlene RewriteCond:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

Antwort

1

Es stellte sich heraus, dass ich das Dokument root angeben hatte als ein zweiter Parameter in der Procfile: web: vendor/bin/heroku-php-apache2 webroot/

0

Für was es wert ist, sah ich nur das gleiche Problem (hatte einen "Vendor" Ordner, der immer 403 Fehler bekam).

Ich habe den Lieferantenordner in "v" umbenannt (und feste Referenzen) und alles hat gut funktioniert.

Ich frage mich, ob "Vendor" ein reserviertes Wort in Heroku ist?

6

Ich frage mich, ob "Vendor" ein reserviertes Wort in Heroku ist?

ja, wenn Sie "vendor" Ordnername verwenden, kann Fehler 403 Fehler sein. Da root dir Webserver vendor/bin/. Verwenden Sie nicht den öffentlichen Namen "vendor" und "bin".