Du hast eine Entwicklungsumgebung, die durch eine htaccess passwortgeschützt ist? Du möchtest aber trotzdem in Magento ein Bild hochladen, aber es kommt die Fehlermeldung „HTTP-Fehler beim Hochladen„?
In diesem Beitrag erkläre ich, woran das liegt und wie du es lösen kannst.
Warum kommt diese Fehlermeldung?
Diese Fehlermeldung wird durch die htaccess Sperre ausgelöst. In Magento könnte diese so aussehen:
AuthUserFile /var/www/domain.de/htdocs/.htpasswd
AuthType Basic
AuthGroupFile /dev/null
AuthName "www.domain.de - Entwicklung"
require valid-user
Dies hat zur Ursache, dass auf „domain.de“ und auf jeder Unterseite die Passworteingabe der htaccess Sperre erscheint bis das Passwort eingegeben wurde.
Wie wird das Problem gelöst?
Man muss die htaccess um ein paar Zeilen erweitern. Was genau dies bedeutet, erkläre ich im folgenden:
<LimitExcept POST>
require valid-user
</LimitExcept>
<FilesMatch "\.(png|jpe?g|gif|jpg)$">
Satisfy Any
Allow from all
</FilesMatch>
Das „LimitExcept POST“ erlaubt authentifizierten Benutzern (die das Passwort der htaccess Sperre eingegeben haben) den POST Request, welches für den Upload von Dateien benötigt wird.
Zusätzlich werden „.png“, „.jpeg“, „.jpg“ und „.gif“ Dateien für alle Benutzer – und somit auch unauthentifizierten Benutzern – erlaubt. Dies bedeutet, es können Bilder im Browser angeschaut und abgerufen werden, indem man die richtige URL zu dem Bild kennt. Den Rest der Website/Shops können aber weiterhin nur von Personen mit dem htaccess Passwort gesehen werden.