Plugin Advanced Mod Rewrite für Contenido 4.8.x

danielawoe
Beiträge: 113
Registriert: Fr 11. Feb 2005, 12:03
Wohnort: Flensburg
Kontaktdaten:

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

Beitrag von danielawoe » Di 12. Mai 2009, 15:16

Mein Gott, so klein ist die Welt!!!
;-)

Ich bin erst seit April dabei... daher kenne ich noch nicht alle ;-)

Naja...

Der Haken in der Konfig von AMR ist gesetzt, den Cache habe ich mehrmals geleert, Jetzt habe ich noch mal auf 75% gestellt, aber es hilft auch nicht :-(

Ist nicht weltbewegend, aber auch nicht schön ...
EDIT:// Ich habe mal etwas anderes probiert: In der Newsletteranmeldung klickte ich auf diesen link http://b-soft.biz/site/cms/front_conten ... angelang=1

und bekam eine Seite auf der die Fehlerseite verlinkt ist mit http://b-soft.biz/site/Systemseiten/Feh ... ml?error=1
und wenn mann dann darauf klickt ist meine Fehlerseite da...

Also hab ich irgendwie die Weiterleitung kaputt gemacht... *kopfkratz*

Wenn ich den Haken deaktiviere geht mein NEwsletter wieder

Danke
Daniela
Wer schon nicht überzeugen kann soll wenigstens für Verwirrung sorgen.

website| XING-Profil | twitter |

xmurrix
Beiträge: 3155
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 12. Mai 2009, 22:27

Hi danielawoe,

willst du, dass URL in Newsletter nicht auf einer Fehlerseite landen, darfs du die Option "Duplicated Content verhindern" nicht aktivieren. Dessen Aufgabe ist es nähmlich nur URLs auf Seiten zuzulassen, die den AMR Einstellungen entsprechen.

Das scheint ja auch soweit zu funktionieren - Gebe ich eine URL wie http://host/site/cms/front_content.php?idart=13 ein, lande ich auf der entsprechenden Seite.
danielawoe hat geschrieben:In der Newsletteranmeldung klickte ich auf diesen link http://b-soft.biz/site/cms/front_conten ... angelang=1
Da scheint noch die ID des Artikels oder der Kategorie zu fehlen, ohne einer dieser Ids landest du in der Regel auf der Startseite. Schau mal im Newslettermodul nach, warum da nicht die ID gesetzt wird.

Noch was:
Gibt man eine URL ein, zur der es keine Seite gibt, wird die Seite der fehlerhaften Anmeldung angezeigt, nicht die normale Fehlerseite.

Wenn das Newslettermodul die URL mit einer Id generiert und eine Fehlerseite angelegt ist, sollte doch allles soweit passen oder?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

danielawoe
Beiträge: 113
Registriert: Fr 11. Feb 2005, 12:03
Wohnort: Flensburg
Kontaktdaten:

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

Beitrag von danielawoe » Mi 13. Mai 2009, 08:47

Wow... ich glaub jetzt läuft alles so wie es soll :-)

Klasse!!!

Vielen Dank!

Viele Grüße in den Süden, Daniela
Wer schon nicht überzeugen kann soll wenigstens für Verwirrung sorgen.

website| XING-Profil | twitter |

anjaka
Beiträge: 103
Registriert: Di 23. Nov 2004, 11:07
Kontaktdaten:

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

Beitrag von anjaka » Mi 13. Mai 2009, 09:16

Ja, wenn die Domain auf "meinOrdner" geht, ist dass das Root-Verzeichnis vom Projekt. In diesem Fall kannst du es bei den Standardeinstellungen belassen, also:

Code: Alles auswählen

RewriteBase /cms
und in Plugineinstellung "Pfad zur .htaccess" wäre dann "/", und die Ausnaßme für das contenido-Verzeichnis müsste lauten

Code: Alles auswählen

RewriteRule ^contenido/.*$ - [L]
Hallo,
heute Nacht habe ich die Seite Online gebracht, allerdings ohne mod_rewrite.
"MeinOrdner" ist nun das das Rootverzeichnis, aber ich komme nur per Meta "refresh" aus dem Root-Ordner auf die Seite.
Die MR-Urls werden auch richtig angezeigt, aber ein Aufruf führt dann auf eine 404 Seite.

Im Moment bin ich ein wenig ratlos.


Gruß und einen schönen Tag euch allen.

xmurrix
Beiträge: 3155
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 13. Mai 2009, 11:13

anjaka hat geschrieben:...
heute Nacht habe ich die Seite Online gebracht, allerdings ohne mod_rewrite.
"MeinOrdner" ist nun das das Rootverzeichnis, aber ich komme nur per Meta "refresh" aus dem Root-Ordner auf die Seite.
Die MR-Urls werden auch richtig angezeigt, aber ein Aufruf führt dann auf eine 404 Seite.
Ein 404 er Fehler vom Server ist ein Anzeichen dafür, dass die Rewrite Regeln in der .htaccess fehlerhaft sind oder das Apache Modul mod rewrite nicht aktiv/vorhanden ist oder auch, dass die AllowOverride Direktive nicht korrekt gesetzt ist.

Überprüfe doch mal die Hinweise?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

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

Beitrag von malsdgtac » Fr 15. Mai 2009, 14:30

Hallo murrix,

sorry, ich war ein paar Tage unterwegs. Ich habe mir die Pfade im Contenido nochmals genauer angeschaut. Die lauten:

Code: Alles auswählen

Server-Pfad: /u/www/mon/cms/
Web-Adresse: http://www.domain.at/kunde/cms/ 
Die Abschließenden "/" sind also korrekt gesetzt. Was mich etwas stutzig macht, ist, dass wenn ich in den mod_rewrite Einstellungen die .htacces mit "/" angeben - die Domains auf "www.domain.at/..." geschrieben werden und nicht auf "www.domain.at/kunde/..." - also entsprechend den Angaben der Web-Adresse.

Eine Änderung der Advances Mod Rewrite Einstellungen bringen war richtige URLs, die aber leider nicht korrekt funktionieren :-( der Provider ist leider auch nicht gerade hilfreich

xmurrix
Beiträge: 3155
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 15. Mai 2009, 15:38

smac hat geschrieben:...

Code: Alles auswählen

Server-Pfad: /u/www/mon/cms/
Web-Adresse: http://www.domain.at/kunde/cms/ 
Verstehe ich das richtig, Contenido ist in einem Unterverzeichnis des wwwroot installiert?

Falls ja, sollte die .htaccess eigentlich unter /mon/ liegen, die RewriteBase sollte /mon/cms sein und in den Plugineinstellungen der Pfad zur .htaccess /mon/.

Aufrufen lässt sich dann das Projekt mit http://www.domain.at/kunde/ alle generierten Links enthalten die Basisurl http://www.domain.at/kunde/.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

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

Beitrag von malsdgtac » Mo 18. Mai 2009, 20:21

Jetzt konnte mir der Help-Desk doch noch weiter helfen :-)

Auf dem Server läuft ein "Cluster-Setup" dadurch musste die .htaccess speziell angepaßt werden. Jetzt läuft das mod_rewrite.

Danke für die Hilfe

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

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

Beitrag von _wiewo_ » Fr 22. Mai 2009, 08:58

Heyho

Code: Alles auswählen

PHP Warning:  Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
Genau die Meldung habe ich immer wenn ich das AMR laufen hab.
dekativier ichs ist wieder alles normal.

selbst nen blankes contenido, dann amr rauf, rumps, dieser fehler

und ganz oft auch diesen (immer auf der plugin install/update Seite)

Code: Alles auswählen

PHP Warning:  Unknown: 4294967295 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
Irgendwo muss da nen free result oder so fehlen, sowas kann doch nciht an ner fehlenden datei o.Ä. liegen.
Vorallem passiert das bei JEDER installation
um nun 4.8.11 mit 0.5.3 oder 4.8.12 mit 0.5.4
immer :(

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

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

Beitrag von xmurrix » Sa 23. Mai 2009, 09:22

_wiewo_ hat geschrieben:...

Code: Alles auswählen

PHP Warning:  Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
...

Code: Alles auswählen

PHP Warning:  Unknown: 4294967295 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0
Irgendwo muss da nen free result oder so fehlen, sowas kann doch nciht an ner fehlenden datei o.Ä. liegen...
Danke für die Meldung, wobei mir die Zahl 4294967295 doch sehr komisch vorkommt. Kann mir nicht vorstellen, dass das AMR Anfragen generiert, die letztendlich so viele Resultsets produzieren.

Mit ist das bisher nicht aufgefallen, obwohl bei mir das error_reporting sehr restriktiv gesetzt ist. Was hast du für eine Umgebung (PHP, MySQL)?

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

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

Beitrag von _wiewo_ » Sa 23. Mai 2009, 09:25

http://www.webtischlerei.de/info.php ;)
hab auch noch nen 2. server, genau das selbe
versionen alle die gleichen
sobald ichs amr aktivier kommt das, deaktivier ichs alles okay

und der mit den dicken großen zahlen kommt beim amr installieren oder updaten

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

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

Beitrag von _wiewo_ » Sa 23. Mai 2009, 09:28

http://www.kehres.net/warning.jpg <= screenshot, will gerade aufner domain den amr installieren

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

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

Beitrag von xmurrix » Sa 23. Mai 2009, 10:04

_wiewo_ hat geschrieben:http://www.kehres.net/warning.jpg <= screenshot, will gerade aufner domain den amr installieren
Das Plugin verwendet die DB_Contenido, die wiederum von der DB_SQL abgeleitet wird, in der Query Methode von DB_SQL wird dafür gesorgt, dass das passiert:

Code: Alles auswählen

    # New query, discard previous result.
    if ($this->Query_ID) {
      $this->free();
    }
Es könnte aber sein, dass in deiner Umgebung Probleme mit statischen Variablen in Funktionen gibt. Ich hattte schon mal sowas in Verbindung mit aktiviertem eAccelerator.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

_wiewo_
Beiträge: 358
Registriert: Mo 8. Sep 2008, 11:12

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

Beitrag von _wiewo_ » Sa 23. Mai 2009, 10:21

hm, workaround? :)

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

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

Beitrag von xmurrix » Sa 23. Mai 2009, 11:11

_wiewo_ hat geschrieben:hm, workaround? :)
Bin mir nicht sicher, ob am eAccelerator oder an einem anderen Modul liegt, ist nur eine Vermutung.

Bei einfachen Sachen, wie z. B. in Funktionen, kann man die Verwendung von static Variablen gegen globale Variablen ersetzen. Statische Membervariablen in Klassendeklarationen würde ich nicht anlangen, weil man dann Eingriffe vornimmt, deren Auswirkung nicht abschätzbar ist.

Sollte die Verwendung einer Erweiterung der Grund für die Problematik sein, ist es wohl besser, die Erweiterung zu deaktivieren. Alternativ kannst du versuchen, den Code solange umzubiegen, bis es funktioniert, was erheblich aufwändiger sein könnte.

Da dein Poblem mit der DB zu tun hat, vermute ich, dass es mit der Funktion mr_queryAndNextRecord() in contenido/plugins/mod_rewrite/includes/functions.mod_rewrite.php zusammenhängt. Kannst testweise versuchen, es folgendermaßen zu Ändern:

Code: Alles auswählen

function mr_queryAndNextRecord($query){
    $oGlobals = mpGlobals::getInstance();
    if (!$db = $oGlobals->get('mr_helper_db')) {
        $db = new DB_Contenido();
        $oGlobals->set('mr_helper_db', $db);
    }
    if (!$db->query($query)) {
        return null;
    }
    return ($db->next_record()) ? $db->Record : null;
}
Dann wird keine statische Varible in der Funktion verwendet. Wenn du Pech hast, klappt das aber auch nicht, weil mpGlobals::getInstance() wiederung eine Instanz von mpGlobals liefert, das in einer statischen Membervariablen der Klasse gespeichert wird.

Als letzte Alternative bleibt wohl der Weg zurück zur Verwendung von globalen Variablen:

Code: Alles auswählen

function mr_queryAndNextRecord($query){
    if (!isset($GLOBALS['mr_helper_db'])) {
        $GLOBALS['mr_helper_db'] = new DB_Contenido();
    }
    $db = $GLOBALS['mr_helper_db'];
    if (!$db->query($query)) {
        return null;
    }
    return ($db->next_record()) ? $db->Record : null;
}
Das erste Beispiel ist performancetechnisch nicht ideal, wobei der Nachteil nicht auffallen würde. Das zweite Beispiel mit GLOBALS mag ich persönlich nicht und versuche davon wegzukommen...

Das löst das Problem in der einen Funktion, nicht aber die anderen Probleme, die auftauchen können.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Gesperrt