Plugin Advanced Mod Rewrite für Contenido 4.8.x

DoroM
Beiträge: 116
Registriert: Mo 26. Jul 2004, 12:11
Wohnort: Saarland
Kontaktdaten:

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

Beitrag von DoroM »

Hallo xmurrix,

folgendes Problem,
mein Kunde ist mit seinem einwandfrei funtionierenden Projekt (Version 4.8.6 und AMR V 3) von 1und1 auf einen vserver bei server4you umgezogen.
Alle Aliase wurden übernommen, die Seite läuft immer noch einwandfrei.
Wenn man neue Artikel anlegt, wird kein Alias angelegt, auch manuell eingegebene werden nicht gespeichert. Will man diese neue Seite verlinken von einer andern Seite, wird auf die Startseite gesprungen.
Unter Aliase zurücksetzen hat es nun bei einem Beispiel funktioniert, aber bei jedem neuen Artikel geht's wieder nicht.
Muss ich das Plugin nochmal neu installieren oder fällt Dir was sinnvolleres ein?
Danke DoroM
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

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

Beitrag von xmurrix »

DoroM hat geschrieben:...Wenn man neue Artikel anlegt, wird kein Alias angelegt, auch manuell eingegebene werden nicht gespeichert. Will man diese neue Seite verlinken von einer andern Seite, wird auf die Startseite gesprungen.
Unter Aliase zurücksetzen hat es nun bei einem Beispiel funktioniert, aber bei jedem neuen Artikel geht's wieder nicht.
Muss ich das Plugin nochmal neu installieren oder fällt Dir was sinnvolleres ein?...
Hallo DoroM,

wie wurde der Serverwechsel gemacht? Wurde die DB exportiert und auf dem neuen Server importiert, oder gibt das über den Contenido-Setup mit der Option "Migration bestehender Installation"?

Stehen irgendwelche Einträge in der contenido/logs/errorlog.txt, die auf ein Fehlverhalten des Plugins hinweisen?

Vermutlich gibt es da ein paar fehlende Funktionen. Eine Neuinstallation des Plugins könnte hilfreich sein. Einfach deinstallieren und danach wieder installieren. Vorher würde ich immer eine Sicherung der DB machen, man weiß ja nie...

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.
DoroM
Beiträge: 116
Registriert: Mo 26. Jul 2004, 12:11
Wohnort: Saarland
Kontaktdaten:

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

Beitrag von DoroM »

danke!
Hab den Umzug nicht selbst gemacht, vermutlich wurde die DB exportiert. In der Errorlog steht nichts drin. Werde die Neuinstalltation anregen und das Ergebnis später melden.
Gruß
DoroM
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Soap Client

Beitrag von malsdgtac »

Hallo xmurrix,

ich bin gerade dabei mir Inhalte per SOAP zu integrieren. Das Funktioniert grundsätzlich. Wenn ich mir diese über ein Modul im Contenido hole bekomme ich leider eine Fehlermeldung vom mod_rewrite Plugin.

Code: Alles auswählen

Catchable fatal error: Object of class SoapClient could not be converted to string in .../contenido/plugins/mod_rewrite/includes/functions.mod_rewrite.php on line 455
Gibt es eine Möglichkeit, dass das Mod_Rewrite für ein Modul "ausgeschalten" wird. Also irgendwie einen Kommentar, dass der folgende Code nicht überprüft wird? Alternativ könnte ich mir vorstellen die ganze Seite vom Plugin auszuschließen (was natürlich nicht so toll wäre).

Vielen Dank für deine Antwort bzw. Hilfestellung.
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: Soap Client

Beitrag von xmurrix »

smac hat geschrieben:...ich bin gerade dabei mir Inhalte per SOAP zu integrieren. Das Funktioniert grundsätzlich. Wenn ich mir diese über ein Modul im Contenido hole bekomme ich leider eine Fehlermeldung vom mod_rewrite Plugin.

Code: Alles auswählen

Catchable fatal error: Object of class SoapClient could not be converted to string in .../contenido/plugins/mod_rewrite/includes/functions.mod_rewrite.php on line 455
Gibt es eine Möglichkeit, dass das Mod_Rewrite für ein Modul "ausgeschalten" wird. Also irgendwie einen Kommentar, dass der folgende Code nicht überprüft wird? Alternativ könnte ich mir vorstellen die ganze Seite vom Plugin auszuschließen (was natürlich nicht so toll wäre)...
Hallo smac,

die Fehlermeldung besagt, dass an der Stelle ein SoapClient-Objekt übergeben wird, anstatt eines Strings. Ist eine interessante Sache, wie so etwas möglich ist...

Das Plugin lässt sich nur dann Modulweise Ein/Ausschalten, wenn du auch in den Modulen nicht Contenido_Url zum Erstellen der Urls verwendest. Hast du im Plugin die Option "Bei der Ausgabe des HTML Codes der Seite" gesetzt, wird die Ausgabe der jeder Seite geparst. Das kannst du aber für bestimmte Seiten mit folgender Mandantenkonfiguration ausschließen:

Code: Alles auswählen

Variable: frontend.no_outputbuffer
Typ: idart
Wert: {id_des_artikels}
Dann wird die Ausgabe der Seite nicht in den Ausgabepuffer geschrieben, daher kann das Plugin auch keine CleanURLs erstellen.

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 »

Hallo xmurrix,

danke für deine Antwort, ganz schon cool dein Teil!
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 »

Hallo xmurrix,

ich brauch diesbezüglich bitte nochmals deine Hilfe.

Wenn ich die Mandanteneinstellungen angeben erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

Warning: reset() [function.reset]: Passed variable is not an array or object in .../conlib/session.inc(316) : eval()'d code on line 1
Ich dachte mir, ist ja nicht so schlimm ich kommentiere einfach die Fehlermeldung aus. Allerdings erhalte ich dann beim näcshten Aufruf einer Seite folgende Fehlermeldung:

Code: Alles auswählen

Parse error: syntax error, unexpected ';', expecting T_STRING or T_VARIABLE or '$' in .../conlib/session.inc(374) : eval()'d code on line 1
Hast du eine Idee für mich?

Danke
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 »

Hi Xmurrix,

ich habe jetzt kurzerhand auch diese Fehlermeldung auskommentiert, jetzt funktioniert es, habe aber natürlich keine Ahnung, ob es irgendwo sonst Probleme aufwirft.
thoste87
Beiträge: 189
Registriert: Fr 27. Jun 2008, 12:57
Kontaktdaten:

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

Beitrag von thoste87 »

eine frage:
wie finde ich den modrewrite link heraus? habe z.B. http://www.xxx.xxx/cms/front_content.ph ... =30&lang=1
wie finde ich jetzt heraus, wie der modrewrite link dazu heist?

lg
thoste
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

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

Beitrag von xmurrix »

thoste87 hat geschrieben:...
wie finde ich den modrewrite link heraus? habe z.B. http://www.xxx.xxx/cms/front_content.ph ... =30&lang=1
wie finde ich jetzt heraus, wie der modrewrite link dazu heist?...
Abend,

da gibt es leider keine einfache Möglichkeit, die CleanURL zu zur einer URL mit front_content.php?... zu erhalten.

Die kriegst du
a.) aus dem AMR Testscript (/cms/mr_test.php)
b.) aus der Sitemap (falls die Seite dort ausgegeben wird)
c.) mit einem eigenen Modul Eingabe der URL im Input, Ausgabe der CleanURL im Output.

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.
former
Beiträge: 27
Registriert: So 2. Jul 2006, 19:16
Wohnort: Offenbach
Kontaktdaten:

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

Beitrag von former »

Hallo xmurrix und alle die sonst noch Ahnung vom AMR haben ;-)

Ich habe heute mein Contenido mit 8 Mandanten auf Versiom 4.8.12 gehoben, auf Version 4.6.15 war kein ReWrite installiert.
Weiterhin habe ich ARM 0.5.4 installiert und für einen Mandanten konfiguriert, bei diesem läuft die Navigation nicht mehr :-(
Das eingesetzte Navigationsmodul ist dieses hier http://forum.contenido.org/viewtopic.php?t=17626 und läuft ohne Probleme bei ausgeschaltetem ARM.
Schallte ich ARM scharf werden sämtliche Links aus der Navi nach "/" gesetzt.
Liegt das evtl. daran das die NavigationUniversell von Kummer lediglich mit der "idcat" arbeitet?

Bin für jeden Tipp dankbar!

Ciao Chris
CMS-Version: Contenido Ver. 4.8.12 -- Ver. 4.8.15
------------------------------------------------------------------------------------------------------------------
PalmenSamen.com - Palmen und Exotische Samen
SamenWunder.de - Exotische und seltene Samen
former
Beiträge: 27
Registriert: So 2. Jul 2006, 19:16
Wohnort: Offenbach
Kontaktdaten:

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

Beitrag von former »

Alles Klar!
Wer lesen kann ist klar im Vorteil, siehe erster Post in diesem Thread-
Alle URLs zu Kategorien werden mit / oder /index.html umschrieben
Ist Contenido mit der Konfiguration $cfg["is_start_compatible"] = true; (siehe contenidoincludes/config.php) eingestellt, um die Startartikeldefinition in Kategorien kompatibel zu älteren Contenido-Versionen halten, kann das Plugin die URLs zu Kategorien nicht generieren, weil es diese Konfiguration nicht unterstützt.
Jetzt läuft's auch bei mir!
Cooles Modul!
Thx
CMS-Version: Contenido Ver. 4.8.12 -- Ver. 4.8.15
------------------------------------------------------------------------------------------------------------------
PalmenSamen.com - Palmen und Exotische Samen
SamenWunder.de - Exotische und seltene Samen
Dino23
Beiträge: 38
Registriert: Fr 13. Aug 2004, 15:13
Kontaktdaten:

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

Beitrag von Dino23 »

Hallo,
erstemal danke für das tolle Modul. Ich nutze es schon lange und es funktioniert prima.

Heute habe ich allerdings ein Problem festgestellt das ich nicht lösen kann.
Ich nutze 4.8.12 mit AMR 0.54

Habe einen Artikel angelegt der umgeleitet werden soll auf eine andere Seite.
Umleitung alles eingerichtet, ist ja kein Ding, aber AMR macht mir die Umleitung jedes mal kaputt.

Dann in den Mandanteneinstellungen einen neuen Eintrag gemacht: frontend.no_outputbuffer idart 71(meine Artikel ID)

Das kommt bei raus...
So sollte das Weiterleitungsziel aussehen (so ist es auch in den Artikeleigenschaften bei der Weiterleitung eingetragen):

Code: Alles auswählen

http://www.domain.de/ordner1/ordner2/index.php?md5id=d6a9a&id=1
So sieht es aber aus:

Code: Alles auswählen

http://www.domain.de/index.html?md5id=d6a9a&id=1
Ich komme einfach nicht mehr weiter. AMR überschreibt gnadenlos den Link obwohl eine Ausnahme für diesen Artikel da ist.

Wenn AMR aus ist tuts.

Wäre klasse wenn mir jemand helfen könnte.

Vielen lieben Dank!

Dino
xmurrix
Beiträge: 3213
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

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

Beitrag von xmurrix »

Dino23 hat geschrieben:...
Dann in den Mandanteneinstellungen einen neuen Eintrag gemacht: frontend.no_outputbuffer idart 71(meine Artikel ID)

Das kommt bei raus...
So sollte das Weiterleitungsziel aussehen (so ist es auch in den Artikeleigenschaften bei der Weiterleitung eingetragen):

Code: Alles auswählen

http://www.domain.de/ordner1/ordner2/index.php?md5id=d6a9a&id=1
So sieht es aber aus:

Code: Alles auswählen

http://www.domain.de/index.html?md5id=d6a9a&id=1
Ich komme einfach nicht mehr weiter. AMR überschreibt gnadenlos den Link obwohl eine Ausnahme für diesen Artikel da ist....
Hallo Dino,

hast du es mal mit folgendem Redirect probiert:

Code: Alles auswählen

/ordner1/ordner2/index.php?md5id=d6a9a&id=1
Also ohne die Angabe des Protokolls und des Hosts.

Der Hintergrund ist folgender. Jede Redirect URL die folgenden Kriterien entspricht, wird als interne URL erkannt:
  • "/" oder "/?idart=123" oder "/?idcat=123"
  • "front_content.php" oder "front_content.php?idart=123" oder "front_content.php?idcat=123"
  • "/cms/" oder "/cms/?idart=123" oder "/cms/?idcat=123" (wenn "cms" das Clientverzeichnis ab wwwroot ist)
  • "/cms/front_content.php" oder "/cms/front_content.php?idart=123" oder "/cms/front_content.php?idcat=123" (wenn "cms" das Clientverzeichnis ab wwwroot ist)
  • Jede URL, die den Host des Clients enthält, also http:/host/...
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.
Dino23
Beiträge: 38
Registriert: Fr 13. Aug 2004, 15:13
Kontaktdaten:

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

Beitrag von Dino23 »

Hallo xmurrix,
ich habe natürlich Müll geschrieben.

Also nochmal.
Ich habe einen Artikel der mit AMR so hier ist:

Code: Alles auswählen

http://www.domain1.de/produkte/index.html
Im Artikel habe ich dann eine Weiterleitung drin nach:

Code: Alles auswählen

http://www.domain2.de/shop/index.php?id=1&md5id=d6a9a
Klicke ich dann auf den Link leitet AMR mich aber auf diese URL um:

Code: Alles auswählen

http://www.domain1.de/index.html?id=1&md5id=d6a9a
Die Umleitung tut 0,0%.
Ohne AMR geht alles. Ich kann den Link der Umleitung auch direkt aufrufen, da läuft kein Contenido, das tut.

Hier noch meine .htaccess

Code: Alles auswählen

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteBase /

RewriteCond %{QUERY_STRING} contenido_path=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} cfg\[path\]=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} _PHPLIB\[libdir\]=.*$  [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} ftp://.*$  [NC,OR] 
RewriteCond %{QUERY_STRING} http[s]*://.*$ [NC] 
RewriteRule ^.* - [F,L]  # all matching conditions from above will end in nirvana

RewriteRule ^usage/.*$ - [L]
RewriteRule ^contenido/.*$ - [L]
RewriteRule ^upload/.*$ - [L]
RewriteRule ^front_content.php.*$ - [L]

RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]
</IfModule>
Wäre prima wenn Du nen Tip hättest. Vielleicht richtist Du dir einfach selbst mal eine Umleitung ein mit ein paar GET Variablen um es zu reproduzieren.

Vielen Dank,
Dino
Gesperrt