App Installation, Plugin App, Eigenes Theme aktvieren nicht möglich? Method Not Allowed (Allow: POST)

Liebe Shopware Community, ich hoffe ich bin mit diesem Fehler nicht der Einzige und es kann mir jemand helfen?

Die Fehlermeldung: Method Not Allowed - No route found for "GET https://SHOPWARE_URL/api/_action/extension/install/plugin/EIGENES_PLUGIN: - Method Not Allowed (Allow: POST)

wird angezeigt, sobald ich versuche ein zuvor über die Console erstelltes eigenes Theme im Backend unter „Meine Erweiterungen“ - „Themes“ zu aktivieren (siehe Bild).

Ich habe nun schon einiges versucht über diesen Fehler herauszubekommen und falle jedes Mal über „eigenen Controller erstellen“ etc., ich weiß nur nicht ob es der richtige Weg ist. Shopware wurde von mir frisch installiert ohne irgendwelche Anpassungen und das Frontend läuft ohne Probleme sowie auch das Backend tadellos bis auf diese Funktion („install“ bzw. App installieren oder Deinstallieren).

Meine Shopware URL in der .env Datei habe ich bereits kontrolliert, steht auf „https://“, im Verkaufskanal ist auch die richtige URL angegeben, daran sollte es also auch nicht liegen. Mein Account ist im Backend auch angemeldet. Mir kommt es so vor, dass das Backend keine Verbindung nach draußen bekommt, kann evtl. in der „routes.xml“ eine neue funktionieren Route eingegeben werden, wenn ja welche?

Evtl. ist der Fehler auch auf eine fehlerhafte PHP Konfiguration zurückzuführen, wobei ich die Shopware-Standards beachtet und konfiguriert habe.

Ich wäre für jeden guten Rat dankbar :slight_smile:

Kann dir zu dem Fehler nichts sagen, der Request wird per GET verschickt, POST wird nur akzeptiert. Entweder hast du eine Route überschrieben oder Shopware in einem der letzten Updates ein Bug eingebaut.

Aktiviere es doch inzwischen einfach per Console:

console plugin:install XYZ
console plugin:activate XYZ

1 „Gefällt mir“

Super Tipp von Dir. Mit der Console hat es geklappt aber wieso hat das Shopsystem keine Schreibrechte im var/Cache Ordner? Sollte doch eigentlich auch übers Backend gehen?

Setzt Shopware die Schreibrechte bei der Installation nicht automatisch?
chown ist Standard auf www-data gesetzt und welche Schreibrechte sollte dann der Cache Ordner haben, doch nicht 777 oder?

Das Problem konnte ich durch deinen Tipp über die Console lösen, vielen Dank nochmal!!!

Das Theme konnte ich zwar über die Console aktivieren aber im Backend unter „Meine Erweiterungen“ erscheint bei App Installationen oder Deinstallationen weiterhin diese Fehlerbeldung (siehe oben erste Nachricht)?

Kennt jemand dieses Problem und evtl. helfen?

Wenn du ein Plugin aktivierst, dann musst du im Browser schauen, welcher Request (Header) an Shopware geschickt wird. Der Fehlermeldung nach muss da GET anstatt POST verschickt werden. Sollte das wirklich der Fall sein, dann stimmt etwas mit deinem Backend nicht.

Ist das nicht der Fall, dann wird der Request von deinem Sever abgewandelt, dann musst du dort den Fehler suchen.

Danke nochmal an Max. Ich habe den Fehler gefunden, folgende Zeilen in meiner .htaccess sind die Ursache dafür gewesen:

# Lowercase
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule . ${lc:%{REQUEST_URI}} [R=301,L]
</IfModule>

Schade eigentlich, das ich diese Funktion aktuell mit Shopware nicht nutzen kann, schließlich ist sie sehr wichtig für die Suchmaschinenoptimierung.

Shopware macht das momentan mit der Standard-Konfiguration nicht so optimal. Alle URL’s sind Upper- und Lowercase aufrufbar, das verursacht Duplicate-Content und verwirrt die Suchmaschinen.

Wenn du keine Verlinkung auf Upper und Lower Case gleichzeitig hast, dann wird die Suchmaschine auch nicht auf die Idee kommen, das andere aufzurufen. Zudem bin ich mir sicher, ohne es jemals nachgesehen zu haben, dass Suchmaschinen URLs mit Groß/Kleinschreibung nicht als zwei unterschiedliche betrachten, wenn der Content gleich ist.

Und du kannst sehr wohl die Regel anwenden. Du musst lediglich POST ignorieren.