Plugin Advanced Mod Rewrite für Contenido 4.8.x

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix » Fr 23. Jul 2010, 17:49

tomkolb hat geschrieben:Ich hab natürlich die einfache Variante (Bei der Ausgabe des HTML Codes der Seite; die URLs werden bei der Ausgabe der Seite umschrieben.) Aber o.k. - wenn es keine andere Lösung gibt, dann muss ich sämtliche Module halt nacheinender anpassen. Hab ich's so richtig verstanden?
Nein, das musst du nicht eigentlich nicht machen. Das Plugin sollte die URLs auch bei der Ausgabe des HTML-Codes der Seite umschreiben.
Wenn das nicht klappt, könnte es daran liegen, dass das Plugin die URLs nicht aus der Ausgabe extahieren und diese Umschreiben kann.

Ich sehe z. B. im Pager der Galerieseite eine absolute URL, die das Format http://www.ksv-aalen.de/cms/front_conte ... 36&start=2 hat, das kann das Plugin nicht umschreiben. Alle URLs sollten relativ sein, also "front_content.php?idcatart=736&start=2", die Angabe für http://www.ksv-aalen.de/cms/ ist ja schon im base-Tag drin.

Zum Fehler im vpGuestbook kann ich momentan nicht viel sagen, müsste man sich genauer ansehen.

Gruß
xmurrix

apicalart
Beiträge: 161
Registriert: Fr 18. Mär 2005, 13:09
Wohnort: Linnich ( NRW )
Kontaktdaten:

Gelöst: Frontend-Berechtigungen Seite öffnet nicht mehr

Beitrag von apicalart » Fr 23. Jul 2010, 22:27

Ich bin mir jetzt nicht sicher. Aber kann es sein, dass durch das modrewrite das Einstellen der Gruppen Frontendberechtigungen nicht mehr funzt ?
Ich bekomme da nämlich immer:

Fatal error: Maximum execution time of 30 seconds exceeded

Ich kann mich einloggen aber ich kann halt nicht einstellen welche Seiten mit angezeigt werden ?
AMR Fehler oder meine Doofheit.

Im Modul habe ich ganz normal die einstellungen gemacht also idcat und idart angegeben.
Dann Login Seite erstellt und eine geschützte Unterseite
Benutzer angelegt und Gruppe.
Wie gesagt: Login und Logout funzen. Nur kann ich die geschützte Seite nicht auswählen.

Das Problem liegt definitv nicht am AMR sondern ist ein Fehler in der 4.8.7 hier von Dodger77 gelöst.
http://forum.contenido.org/viewtopic.ph ... en#p121275
Dat gijjt et doch nit wirklich, odder !

Grüsse aus dem Rheinland
http://www.eukoba.de

Mario_m
Beiträge: 90
Registriert: Sa 24. Okt 2009, 22:57
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von Mario_m » Fr 30. Jul 2010, 22:31

Versuche gerade per mod_rewrite eine Formularseite auf https umzuleiten. Soweit kein Problem.
In meiner Config ists aber so, dass die ssl Adresse auf den root zeigt (www.domain1.de). Die Mandantenadresse wird vom Provider direkt auf ein Unterverzeichnis gesetzt. (www.domain2.de) Hier läuft auch das AMR soweit so gut.

Nun kann ich aber nicht mit aktiviertem AMR mit www.domain1.de/cms/kontakt/index.html zugreifen sondern nur auf www.domain2.de/kontakt/index.html, da der RewriteBase in der .htaccess des Mandanten auf / steht und von www.domain2.de ausgeht, die ja als root das Mandantenunterverzeichnis hat.

Was funktioinieren würde, wäre der Zugriff auf www.domain1.de/cms/front_content.php?idart=123. Nur hier leiten mich die RewriteRules und das AMR immer auf die Fehlerseite. Gibt es eine Möglichkeit bei bestimmten Seiten das AMR ausser Kraft zu setzen?

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix » Fr 30. Jul 2010, 23:08

Du müsstest die Direktiven in der .htaccess umstellen, je nach dem, über welche Domain der Request kommt. Das wird vermutlich nicht funktionieren, da man manche Direktiven nicht mit Bedingungen verknüpft werden können.

Es wäre wohl einfacher, wenn dein Provider eine Subdomain secure.domain1.de anlegt, der dann auf das gleiche Verzeichnis zeigt, wie die Domain http://www.domain2.de zeigt. Das SSL Zertifikat sollte dann auch für die Subdomain gültig sein.

In der .htaccess kannst du dann folgende Regeln einbauen:

Code: Alles auswählen

RewriteCond %{HTTPS} !=on
RewriteRule ^(kontakt/index.html).*$ https://secure.domain1.de/$1 [NC,L]

RewriteCond %{HTTPS} on
RewriteRule !^(kontakt/index.html).*$ http://www.domain2.de/$1 [NC,L]
Dann wird die Formularseite (kontakt/index.html), umgeleitet zu https://secure.domain1.de/, wenn HTTPS nicht aktiv ist.
Im Gegenzug werden andere Seiten zurück zu http://www.domain2.de umgeleitet, wenn HTTPS aktiv ist.

So ungefähr sollte es funktionieren.

Gruß
xmurrix

Mario_m
Beiträge: 90
Registriert: Sa 24. Okt 2009, 22:57
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von Mario_m » Sa 31. Jul 2010, 09:10

Vielen Dank für die schnelle Info. So könnte es wirklich funktionieren. Hatte nicht daran gedacht, für die zweite Domain auch eine ssl Subdomain anzulegen.

Mario_m
Beiträge: 90
Registriert: Sa 24. Okt 2009, 22:57
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von Mario_m » Di 3. Aug 2010, 21:41

Funktioniert soweit hab aber festgestellt, dass die Bilder, css, js, etc. nicht per ssl laufen, sondern über die normale Domain geladen werden.
Soweit nicht schlimm, sieht im Browser aber doof aus, wenn der anzeigt, dass einige Elemente unverschlüsselt übertragen wurden.

Meine Regel sieht derzeit so aus:
RewriteCond %{HTTPS} !=on
RewriteRule ^(intern/index.html).*$ https://ssldomain.de/intern/index.html [NC,L]

Dies bewirkt, dass die Seite intern auf ssl umgeleitet wird. Weiss jemand, wie ich die Regel so umstellen kann, dass auch die Bilder, etc. mit geladen werden?

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix » Mi 4. Aug 2010, 11:12

Mario_m hat geschrieben:...Meine Regel sieht derzeit so aus:
RewriteCond %{HTTPS} !=on
RewriteRule ^(intern/index.html).*$ https://ssldomain.de/intern/index.html [NC,L]

Dies bewirkt, dass die Seite intern auf ssl umgeleitet wird. Weiss jemand, wie ich die Regel so umstellen kann, dass auch die Bilder, etc. mit geladen werden?
Alle Ressourcen werden weiterhin von der Domain http://domain.de geladen, da dies im base-Tag drin steht.

Du müsstest die automatische Generierung des base-Tags ausschalten und im Layout ein Modul dafür einbauen, das e nach Protokoll den richtigen base-Tag setzt.

Beispiel:

Code: Alles auswählen

$protocol = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ||
            (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443)) ? 'https' : 'http';

if ($protocol == 'https') {
    $baseHref = 'https://ssldomain.de/';
} else {
    $baseHref = $cfgClient[$client]['path']['htmlpath'];
}
echo '<base href="' . $baseHref . '" />';
Eigentlich müsste man sicherheitshalber den Wert der Variable $cfgClient[$client]['path']['htmlpath'] auch noch am Anfang überschreiben, wenn die Seite unter der SSL-Domain läuft, damit die Verwendung davon nicht andere Überraschungen birgt.

Gruß
xmurrix

Mario_m
Beiträge: 90
Registriert: Sa 24. Okt 2009, 22:57
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von Mario_m » Do 5. Aug 2010, 21:46

Gibts keine Möglichkeit in der chain, die das erzeugt?

Hab auch testweise das Erzeugen der base href rausgenommen. Sieht ziemlich zermatscht aus die Seite, warum auch immer

Mario_m
Beiträge: 90
Registriert: Sa 24. Okt 2009, 22:57
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von Mario_m » So 8. Aug 2010, 22:58

Ok habs mir selber beantwortet. Funktioniert so:

In den Mandanteneinstellungen folgende Variable anlegen:
Typ: protocol
Name: ssl
Wert: https://ssldomain.de/

In der Datei …./contenido/plugins/chains/includes/include.chain.frontend.createbasehref.php

Am Ende der Datei vor dem letzten return muss folgender (etwas geänderter) Code von xmurrix eingefügt werden:

$protocol = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443)) ? 'https' : 'http';
if ($protocol == 'https')
{
$sCurrentBaseHref = getEffectiveSetting('protocol', 'ssl', 0);
}

Diese Einstellung bewirkt, dass bei Formularen oder ssl basierten Seiten der base href auch auf ssl umgestellt wird.

Zwei Probleme gibts dennoch. Das Modul header speichert die ausgewählten Bilder immer mit der default domain ab. Dies ist auch nachträglich über den Editor nicht zu verändern. Vielleicht weiss hier jemand auf Anhieb rat, ansonsten würde ich dafür einen neuen Thread aufmachen.

Ist der basehref einmal umgestellt, dann werden auch alle anderen Seiten per ssl angesteuert, weil natürlich alle Links mit https lauten. Dies ist ziemlich unschön.

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix » Di 10. Aug 2010, 13:06

Mario_m hat geschrieben:...Das Modul header speichert die ausgewählten Bilder immer mit der default domain ab. Dies ist auch nachträglich über den Editor nicht zu verändern. Vielleicht weiss hier jemand auf Anhieb rat, ansonsten würde ich dafür einen neuen Thread aufmachen...
Schau dir mal die Modulausgabe des Headermoduls an, eventuell sind dort absolute Pfade (Pfad zu Bildern inkl. HTML-Pfad des Mandanten) drin, diese Stellen müsstest du entsprechend anpassen.
Mario_m hat geschrieben:...Ist der basehref einmal umgestellt, dann werden auch alle anderen Seiten per ssl angesteuert, weil natürlich alle Links mit https lauten. Dies ist ziemlich unschön.
Ja, der Klick auf andere Seiten müsste aber wieder durch die Regel in Apache abgefangen und zurück zu HTTP umgeleitet werden.

Alternativ müsstest du ganz von der Verwendung des base-Tags weg, und einen Angepassten URL Builder implementieren, der URLs zu bestimmten Seiten mit der SSL-Domain generiert. Das wird aber sehr aufwändig, die da ist der Switch, auch wenn es nicht sehr ideal ist, das kleinere Übel.

Gruß
xmurrix

barni
Beiträge: 127
Registriert: Fr 28. Okt 2005, 20:54
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von barni » Di 24. Aug 2010, 14:01

Hi Leute,

hatte bis jetzt nie Probleme mit dem Plugin.
Habe aber jetzt eine Installation von 4.8.12 bei 1und1 und mit dem neuesten AMR 0.5.5 gibt es folgende Fehlermeldung im Backend (Punkt AMR)
Fatal error: Class 'mpGlobals' not found in serverpfad(versteckt)/contenido/plugins/mod_rewrite/includes/include.mod_rewrite_content.php on line 24
Wurde ganz normal upgeloadet, installiert und Schreibrechte wie in der Readme.

Wo ist der Wurm? Hat das schonmal jemand gehabt?

Viele Grüße
Sebastian
ich bin genauso hilflos wie ich tu ;)

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix » Mi 25. Aug 2010, 08:02

barni hat geschrieben:...Habe aber jetzt eine Installation von 4.8.12 bei 1und1 und mit dem neuesten AMR 0.5.5 gibt es folgende Fehlermeldung im Backend (Punkt AMR)
Fatal error: Class 'mpGlobals' not found in serverpfad(versteckt)/contenido/plugins/mod_rewrite/includes/include.mod_rewrite_content.php on line 24
...
Hallo barni,

schau mal nach, ob die Datei "contenido/classes/mp/class.mpglobals.php" vorhanden ist. Falls nicht, wurde es beim Übertragen vergessen.

Falls doch, wird das Plugin vermutlich nicht korrekt initialisiert. Gibt es noch andere Fehlermeldungen, die so ähnlich sind oder betrifft das nur die 'mpGlobals'?

Gruß
xmurrix

barni
Beiträge: 127
Registriert: Fr 28. Okt 2005, 20:54
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von barni » Mi 25. Aug 2010, 08:04

Hi xmurrix,

die Datei ist da, das habe ich gecheckt.
Sonst kommt keine weitere Fehlermeldung.
Habe zum Test auch nochmal das AMR Plugin 0.5.4 von einem anderen Projekt rübergespielt, wo es bei 1und1 läuft.
Nur bei diesem Projekt geht es ums verrecken nicht.

Hast du eine Idee?

LIebe Grüße
Basti
ich bin genauso hilflos wie ich tu ;)

xmurrix
Beiträge: 2744
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von xmurrix » Mi 25. Aug 2010, 08:45

Es gibt keine Änderungen zwischen der Version 0.5.4 und der Version 0.5.5, die das Verhalten bei dir erklären würden.

Kannst du herausfinden, ob die Datei "contenido/plugins/mod_rewrite/includes/config.plugin.php" auch eingebunden wird?

Auf Unix-Systemen spielt die Groß-/Kleinschreibung auch eine Rolle, das könnte auch eine mögliche Ursache sein.

Gruß
xmurrix

lunsen_de
Beiträge: 202
Registriert: Mo 17. Okt 2005, 20:26
Wohnort: Weimar
Kontaktdaten:

Re: Plugin Advanced Mod Rewrite für Contenido 4.8.x

Beitrag von lunsen_de » Mi 25. Aug 2010, 11:08

Hallo,

ich habe gerade eine Testinstallation der Version 4.8.13 vorgenommen und das Plugin in der Version 0.5.5 installiert.

Zur Info: Installation einfach mit Beispielmodulen und Beispielmandanten.
Hat auch Alles soweit funktioniert.

Allerdings werden die Links in der Navigation jetzt so angezeigt, dass hinter dem ...index.html noch weitere Dinge stehen.

Der Link sieht dann so aus:
http://www.seite.de/deutsch/test/index.html?a=2&level=1

Dabei wird scheinbar die idcat und das Level angehangen.

Ich weiss allerdings nicht ob es an veränderten Navi-Modulen oder Veränderungen in der Contenido-Version liegt und das Mod-Rewrite-Plugin angepasst werden muss.

PS: bei einer Teaser/Artikel-Liste sehen die einzelnen Artikellinks so aus: index.html?b[lang]=1&b[idcat]=2&b[idart]=4&level=1

Mit freundlichem Gruß lunsen_de
Zuletzt geändert von lunsen_de am Mi 25. Aug 2010, 11:31, insgesamt 1-mal geändert.

Gesperrt