Seite 2 von 3

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 02:18
von Macavity
DAS FOLGENDE IST UNGETESTET UND NUR EIN "SCHUSS INS BLAUE" -> vorher ein Backup machen!!!

Unter der Annahme, dass CAO als "User-Agent" immer noch "CAO-Faktura" sendet (@hh-cm: ist das noch so?) bitte mal in der Shopware-Datei

engine/Shopware/Plugins/Default/Frontend/RouterRewrite/Bootstrap.php

diesen Block (so um Zeile 76)

Code: Alles auswählen

    public function onPreDispatch(Enlight_Controller_EventArgs $args)
    {
        $request = $args->getRequest();
        $response = $args->getResponse();

        if ($response->isException()
            || $request->isPost()
            || $request->isXmlHttpRequest()             // is a ajax call
            || $request->has('callback')                // is a jsonp call
            || $request->getModuleName() != 'frontend'  // is not frontend
            || !$request->getParam('rewriteAlias')      // is not a rewrite url alias
        ) {
ändern in

Code: Alles auswählen

    public function onPreDispatch(Enlight_Controller_EventArgs $args)
    {
        $request = $args->getRequest();
        $response = $args->getResponse();

        if ($response->isException()
            || $request->isPost()
            || $request->isXmlHttpRequest()             // is a ajax call
            || $request->has('callback')                // is a jsonp call
            || $request->getModuleName() != 'frontend'  // is not frontend
            || !$request->getParam('rewriteAlias')      // is not a rewrite url alias
            || $request->getHeader('User-Agent') == 'CAO-Faktura'
        ) {
Anschliessend in Shopware mal den Cache löschen und probieren.

Das sollte dafür sorgen, dass beim entsprechenden User-Agent (hoffentlich) die ganze SEO-Router-Funktion ignoriert wird.

Gruss

Macavity

P.S.: Das ganze ist nur Quick & Dirty und falls es funktionieren sollte ganz sicher nicht updatefest.

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 18:05
von Silvia.Lauss
Hallo Macavity,

funktioniert leider nicht, es kommt der gleiche Fehler: 301 moved permanently... :roll:

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 18:43
von hh-cm
Ich würde mal sagen das funktioniert eh nicht.

/store/CaoApi/

Ist doch eh etwas, was z.B zu "/index.php?api=CaoApi" o.ä wird.
Schaltet man das Routing komplett ab funktioniert das auch nicht.

Fest steht, der 301 "Fehler" (es ist eigentlich kein Fehler) kommt vom Webserver. CAO kann da nicht mit umgehen.
Ich gebe dir eine Adresse und du fährst dort hin, da ist aber nicht das Ziel sondern da hängt ein Zettel.
Mich würde das auch irgendwie anfressen. :P

Eigentlich ist es weder die Schnittstelle noch CAO schuld sondern irgendwelche Regeln die Umleiten obwohl es nicht nötig ist.

Der API Entwickler hat uns einen Testshop zur Verfügung gestellt. In diesem kann die CaoApi ohne https aufgerufen werden obwohl der Shop mit https sauber läuft. Das liegt aber mit Sicherheit daran, dass keine Regel jeden http Verkehr auf https umleitet. (dupplicate content wieder mal)

Solange es keine Ausnahmeregelung für bestimmte aufrufe gibt sehe ich echt schwarz.

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 18:50
von Macavity
@hh-cm

Welchen User-Agent sendet CAO denn und akzeptiert CAO Cookies?

Gruss

Macavity

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 18:51
von Silvia.Lauss
Der API Entwickler hat uns einen Testshop zur Verfügung gestellt. In diesem kann die CaoApi ohne https aufgerufen werden obwohl der Shop mit https sauber läuft. Das liegt aber mit Sicherheit daran, dass keine Regel jeden http Verkehr auf https umleitet. (dupplicate content wieder mal)

Solange es keine Ausnahmeregelung für bestimmte aufrufe gibt sehe ich echt schwarz.
Ja, wenn ich die permanente Umleitung von http auf https in der htaccess ausschalte, geht es ja., weil die CaoApi mit http aufgerufen wird.
Aber wie kann man eine Ausnahmeregelung einrichten, die dann den Aufruf nicht auf https umleitet?

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 18:55
von Macavity
Hi,

ich bin mir sehr sicher, dass es nicht an der Serverkonfiguration liegt (s. auch mein Posting vom Mo 8. Feb 2016, 19:13, dort der zweite Codeblock -> es erfolgt kein 301 sondern der Server meldet sauber einen Statuscode 200).

Ich gehe davon aus, dass Shopware sich da was zusammenbastelt (und wie in den Links von gestern Abend, die hh-cm gepostet hatte, liegt das wahrscheinlich am SEO-Router, wenn man ein wenig zwischen den Zeilen liest).

Gruss

Macavity

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 19:02
von Macavity
@Silvia.Lauss

Welchen Cache hattest Du denn geleert?
Nur den unter "Einstellungen" -> "Shop Cache leeren"?

Oder auch mal "Einstellungen" -> "Caches / Performance" -> Reiter "Cache" -> Haken bei "Index SEO-Urls" - > "Leeren" anklicken?

Gruss

Macavity

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 19:14
von Macavity
@Silvia.Lauss

Ändere in meinem Versuch von oben bitte mal

Code: Alles auswählen

|| $request->getHeader('User-Agent') == 'CAO-Faktura'
in

Code: Alles auswählen

|| $request->getHeaders('useragent')->getFieldValue() == 'CAO-Faktura'
Gruss

Macavity

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 19:18
von Silvia.Lauss
ja, alle geleert...
Habe nochmal getestet, ohne Erfolg.

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 19:19
von Silvia.Lauss
Macavity hat geschrieben:@Silvia.Lauss

Ändere in meinem Versuch von oben bitte mal

Code: Alles auswählen

|| $request->getHeader('User-Agent') == 'CAO-Faktura'
in

Code: Alles auswählen

|| $request->getHeaders('useragent')->getFieldValue() == 'CAO-Faktura'
Gruss

Macavity
Leider das gleiche Ergebnis.

Re: https und Shopware

Verfasst: Mi 17. Feb 2016, 19:44
von Macavity
Hmpf, Mist.

Kann natürlich sein, dass CAO mittlerweile einen anderen Useragent sendet.

Chris?

Gruss

Macavity

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 07:49
von hh-cm
Der UserAgent war und ist CAO-Faktura
Ja, wenn ich die permanente Umleitung von http auf https in der htaccess ausschalte, geht es ja., weil die CaoApi mit http aufgerufen wird.
Aber wie kann man eine Ausnahmeregelung einrichten, die dann den Aufruf nicht auf https umleitet?
Wie wird denn die permanante Umleitung eingerichtet? Per .htaccess? Da kann man bestimmt eine ausnahme einrichten.

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 16:04
von Silvia.Lauss
ja, per htaccess:

Code: Alles auswählen

RewriteCond %{SERVER_PORT} !^443$
RewriteRule (.*) https://%{HTTP_HOST}/store/$1 [R=301,L]

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 18:01
von hh-cm
Hmm, da müsste eigentlich

Code: Alles auswählen

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/store/CaoApi
RewriteRule (.*) https://%{HTTP_HOST}/store/$1 [R=301,L]
funktionieren. Dann die Schnittstelle per http ansprechen und SSL aus der Registry entfernen.

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 18:17
von Silvia.Lauss
funktioniert leider auch nicht, auch nicht mit oder ohne den Eintrag im Registrierungseditor.
Habe sämtliche Möglichkeiten durchprobiert.

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 19:00
von hh-cm
Wird ein 301 zurückgegeben oder eine andere Fehlermeldung ?
Mir ist beim Testen aufgefallen, dass die 301 Meldung nur 1x kam. Danach immer ein anderer Fehler bis ich CAO neu gestartet habe.

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 19:23
von Silvia.Lauss
ich starte vor jedem Test CAO immer neu, und es kommt der 301er.

Re: https und Shopware

Verfasst: Do 18. Feb 2016, 19:43
von hh-cm
Dann ist hier noch was falsch.

Code: Alles auswählen

RewriteCond %{REQUEST_URI} !^/store/CaoApi
Ich kann das erst morgen ausprobieren.

Re: https und Shopware

Verfasst: Fr 19. Feb 2016, 07:55
von hh-cm
Was soll ich sagen

Code: Alles auswählen

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/coi/
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Funktioniert z.B bei Oxid hervorragend. Es wird alles umgeleitet auf https. Es sei denn die URL fängt mit coi/ an.
Also nochmals.

Code: Alles auswählen

RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/store/CaoApi/
RewriteRule (.*) https://%{HTTP_HOST}/store/$1 [R=301,L]
Wenn mit diesem Konstrukt http://.../store/CaoApi/ im Browser aufgerufen wird, wird das ganze umgeleitet ?

Re: https und Shopware

Verfasst: Fr 19. Feb 2016, 14:28
von Silvia.Lauss
Das Ergebnis im browser ist:
https://.../store/CaoApi/