Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin Rewrite Fehler #2

Closed
serviceHoster opened this issue May 18, 2014 · 10 comments
Closed

Plugin Rewrite Fehler #2

serviceHoster opened this issue May 18, 2014 · 10 comments

Comments

@serviceHoster
Copy link

Es gibt aktuell ein Problem mit Plugins wie z.B. Actindo WaWi.
http://wiki.actindo.de/index.php?title=Shopware_4

Normal spricht man das Plugin mit www.domain.tdl/Actindo/ an.
Das Plugin kann man manuell unter www.domain.tdl/Actindo/xmlrpc_server.php?get_cryptmode=1&username=test bzw. www.domain.tdl/shopware.php/Actindo/xmlrpc_server.php?get_cryptmode=1&username=test aufrufen und hier kommt dann eine Antwort.

Bei Apache funktioniert dies problemlos, bei NGINX mit der .conf leider aktuell nicht.
Es kommt eine 404 ERROR.

Ich habe schon viel rumprobiert, leider komme ich nicht drauf woran es hier hängt.

// UPDATE:
Ich habe nun das Problem gefunden.
Da hier eine PHP Datei direkt aufgerufen werden muss, funktioniert location ~ .php$ { natürlich nicht,
weil er nun direkt die PHP Datei xmlrpc..... aufrufen will und deshalb der 404 kommt.
Wenn ich location ~ shopware.php$ { schreibe funktioniert es nun korrekt.
Die Frage ist ob diese Korrektur nicht negative Auswirkungen auf die Basis Shopware Funktionen hat.

@bcremer
Copy link
Owner

bcremer commented May 19, 2014

Hallo,

durch die Änderung auf ~ shopware.php$ wären natürlich keinen anderen, echten PHP Scripte in deinem Shop mehr aufführbar, z.b. der Installer oder Updater.

Welche Version des Actindo Connectors verwendest du?
Laut Code sollte auch ein Zugriff über folgende URl möglich sein:
www.domain.tdl/Actindo/xmlrpcServerPhp?get_cryptmode=1&username=test

@serviceHoster
Copy link
Author

Die aktuellste Version.
Problem ist, dass ich in Actindo nur domain.tdl/Actindo/ hinterlegen kann, den xmlrpc fügt dann Actindo automatisch an.

Für meinen Fall müsste es ausreichen eine neue eigene Location in NGINX für diesen Sonderfall anzulegen um nicht alle PHP-Scripts damit nicht mehr ausführbar zu machen.

Vielleicht gibt es ja aber einen allgemeinen Weg, da auch andere Plugins diese Weg gehen könnten.
z.B Prüfung ob die PHP Datei existiert, wenn ja dann ausführen, andernfalls versuchen es über shopware.php abzubilden.

@bcremer
Copy link
Owner

bcremer commented May 19, 2014

Wenn du eine gute Lösung findest wäre ich über einen Pull Request dankbar.
Allerdings würde ich ungern einen Workaround inkludieren der komisches Verhalten von Plugins korrigiert.

@bcremer bcremer closed this as completed May 19, 2014
@macmastermike
Copy link

hallo
dieses problem habe ich jetzt auch... und nirgens eine lösung gefunden... ich habe jetzt schon einiges probiert in nginx aber nach wie vor keine funktionierende lösung gefunden...

@Kamik
Copy link

Kamik commented May 8, 2015

Wir haben Orgamax-Schnitstelle installiert. Aufruf der Aktionen sollte so aussehen - domain.tld/DeltraShopConnector/setArticles. Dabei sollte function setArticlesAction in engine\Shopware\Plugins\Community\Frontend\DeltraShopConnector\Controllers\Frontend\DeltraShopConnector.php aufgerufen werden. Leider es funktioniert mit nginx nicht - 404 Error (apache hat kein Problem). Wie kann man das korrigieren?

@andreaspollak
Copy link

Nur mal so als schnelle Lösung, schon mal versucht das so zu konfigurieren:
(Wobei "/recovery/install" durch den benötigten Pfad getauscht werden muss)

location /recovery/install {
    index index.php;    
    try_files $uri /recovery/install/index.php?$args;
}

@Kamik
Copy link

Kamik commented May 8, 2015

Danke für Vorschlag. Sollte es so aussehen?:

location /DeltraShopConnector {
index DeltraShopConnector.php;
try_files $uri /engine\Shopware\Plugins\Community\Frontend\DeltraShopConnector\Controllers\Frontend\DeltraShopConnector.php?$args;
}

trotzdem 404 error

@andreaspollak
Copy link

Gerne! Ja, genau. Wobei der Pfad noch falsch ist, hier die Korrektur.

location /DeltraShopConnector/ {
    #index DeltraShopConnector.php;
    try_files $uri /engine/Shopware/Plugins/Community/Frontend/DeltraShopConnector/Controllers/Frontend/DeltraShopConnector.php?$args;
}

Einfach mal herantasten.

@Kamik
Copy link

Kamik commented May 8, 2015

Oh, es ist kein Problem mit nginx, sorry. In dem Plugin steht die Prüfung ob USER_AGENT gleich Benutzername ist. Nach dem ich USER_AGENT geändert habe, funktioniert mit der Standardkonfiguration. Danke für die Hilfe, Andreas.

@andreaspollak
Copy link

Kein Problem, gerne!
Danke für die Rückinfo, vielleicht hilft es ja auch dem nächsten der darüber stolpert.
Beste Grüße
Andreas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants