Plugin Advanced Mod Rewrite für Contenido 4.8.x

Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

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

Beitrag von Schertle » Di 17. Mai 2011, 19:08

Hallo habe das 0.5.5 AMR Plugin erfolgreich installiert und die Umsetzung funktioniert auch bei den meisten Seiten. Habe aber ein paar wenige wo nocht die original Url erscheint.
Wir haben die Mainnavigation auf unserer Seite horizontal mit Weiterleitungen und Link eine weitere Navigationsleiste.
Jetzt werden in der Mainavigation (mit Weiterleitungen) nur manche Url's umgeschrieben und manche nicht. Ich kann jedoch zwischen den Kategorien keinen Unterschied erkennen. Wir nutzen auch mehrere Sprachen auch dort gehen bei manchen Sprachen von 5 kategoren 4, bei manchen nur 2. Gibt es eine Möglichkeit zum Debuggen?

xmurrix
Beiträge: 3143
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 17. Mai 2011, 20:38

Hallo Schertle,
Schertle hat geschrieben:...Wir haben die Mainnavigation auf unserer Seite horizontal mit Weiterleitungen und Link eine weitere Navigationsleiste.
Jetzt werden in der Mainavigation (mit Weiterleitungen) nur manche Url's umgeschrieben und manche nicht. Ich kann jedoch zwischen den Kategorien keinen Unterschied erkennen...
Umleitungen werden nur dann umschrieben, wenn Sie auch als interne URLs erkannt werden. Die Umleitungen sollten also folgendermaßen Aufgebaut sein:

Code: Alles auswählen

front_content.php?idart=123&lang=1
front_content.php?idcat=123&lang=1
front_content.php?idartlang=123&lang=1
Schertle hat geschrieben:...Gibt es eine Möglichkeit zum Debuggen?..
Ja, in der Plugin-Konfiurationsdatei "contenido/plugins/mod_rewrite/includes/config.plugin.php" die Zeilen 70-75 in

Code: Alles auswählen

$options = array(
    'enable'                    => true, // enable debug
    'ressource_urls'            => array('/contenido/logs/errorlog.txt'),
    'dump_super_globals'        => array('$_GET', '$_POST', '$_COOKIE', '$_SESSION'),
    'ignore_empty_superglobals' => true
);
ändern.

Dann wird eine Debug-Leiste links oben auf der Seite angezeigt, in der detaillierte Infos ausgegeben werden. Wenn möglich, sollte das aber nicht auf einem Produktivsystem aktiviert werden.

Grüße
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.

Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

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

Beitrag von Schertle » Mi 18. Mai 2011, 08:33

Hier ein Beispiel für eine Weiterleitung:
/front_content.php?idcat=143&classtauscher=142
classtauscher ist dafür da, damit die Kategorie in der oberen horizontalen Navigation markiert bleibt.
Das mit der Markierung funktioniert aber für die umgeschriebenen Url's nicht mehr
Ist aber bei allen gleich.

In der Statusleiste wird auch die richtige Url angezeigt nur nicht in der Addressleiste.

Ausgabe vom Debug:

funktioniert:

Code: Alles auswählen

♦ ModRewriteController::_extractRequestUri() $this->_aParts
 
Array (
    [0] => 1
    [1] => unternehmen
)
♦ ModRewrite::getCatIdByUrlPath() $path
 
ModRewrite::getCatIdByUrlPath() $path = unternehmen
funktioniert nicht:

Code: Alles auswählen

♦ ModRewriteController::_extractRequestUri() $this->_aParts
 
Array (
    [0] => front_content.php
)
♦ ModRewriteController->_setIdart $idart
 
ModRewriteController->_setIdart $idart = 34

♦ ModRewriteController::execute() _setIdart
 
ModRewriteController::execute() _setIdart = is_null

xmurrix
Beiträge: 3143
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 20. Mai 2011, 09:34

Hallo Schertle,

Code: Alles auswählen

...
/front_content.php?idcat=143&classtauscher=142
...
probiere es mal mit Weiterleitung ohne dem beginnenden Slash, also mit

Code: Alles auswählen

...
front_content.php?idcat=143&classtauscher=142
...
Weiterleitungen, die das Format "/front_content.php" haben, werden nicht als interne URLs erkannt und daher von der Umstellung auf Clean-URLs ausgeschlossen. Laut der Doku klappt es mit folgenden URLs:

Code: Alles auswählen

/
/?idart=2
/?idcat=3
front_content.php
front_content.php?idart=2
front_content.php?idcat=3
/{mandantenverzeichnis}/front_content.php?idart=2
/{mandantenverzeichnis}/front_content.php?idcat=3
wobei der Platzhalter {mandantenverzeichnis} in der Regel "cms" ist.

Es sollte geprüft werden, warum URLs mit dem Format "/front_content.php" nicht als interne URLs erkannt werden, es könnte vielleicht ein Bug sein.

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.

Schertle
Beiträge: 55
Registriert: Fr 23. Apr 2004, 14:51

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

Beitrag von Schertle » Fr 20. Mai 2011, 13:18

Super!! Jetzt klappt es! Es waren aber alle Weiterleitungen so, deswegen ist mir nicht ganz klar warum bei welchen die Umstellung denoch funktionierte.

Hast Du vielleicht auch noch eine Idee wie ich das mit dem classtauscher hinbekomme. Das die angeklickten Kategorien markiert bleiben. Bei manchen hängt er den classtauscher noch ran, bei anderen nicht.

xmurrix
Beiträge: 3143
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 24. Mai 2011, 20:31

Schertle hat geschrieben:...Hast Du vielleicht auch noch eine Idee wie ich das mit dem classtauscher hinbekomme. Das die angeklickten Kategorien markiert bleiben. Bei manchen hängt er den classtauscher noch ran, bei anderen nicht...
Sorry für das späte Feedback...

Warum der Parameter "classtauscher" mal angehängt und mal nicht angehängt wird, kann ich nicht genau sagen. Vermutlich passt da bei der Ausgabe der URLs irgend etwas nicht.

Das Markieren der Kategorien solle auch ohne den Parameter "classtauscher" funktionieren, schau dir mal das Modul "Navigation_Main" und die darin verwendeten Scripte an des Beispielmandanten an - dort funktioniert das auch ohne einen zusätzlichen Parameter.

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.

Nebel
Beiträge: 117
Registriert: Do 14. Jun 2007, 10:08
Kontaktdaten:

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

Beitrag von Nebel » Mi 25. Mai 2011, 19:00

Hi,

ich hätt da mal eine Frage zum Routing:

/deutsch2011>>>front_content.php?idcat=123
/english2011>>>front_content.php?idcat=123&lang=2

Die erste Weiterleitung funktioniert prima. Aber bei der zweiten bekomm ich einen 404er, wenn ich mich in der deutschen Version (Standard) der Webseite befinde. Wechsele ich vorher manuell ins Englische, funktioniert auch diese Weiterleitung.
Eigentlich sollte er doch aber Kategorie auch dann in Englisch aufgerufen werden, wenn ich die .../english2011 aus der deutschen heraus Version aufrufe?!

Manuell .../cms/front_content.php?idcat=123&lang=2 als URL eingegeben geht immer.

Vielleicht irgend eine Idee, woran es liegen könnte?

Beste Grüße
Schöne Grüße
Nebel

Module: FLV Media Player | DivX Webplayer | Quicktime Player

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

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

Beitrag von Spider IT » Mi 25. Mai 2011, 19:53

Hi Nebel,

nicht lang=2 sondern changelang=2 benutzen ;)

Gruß
René

Nebel
Beiträge: 117
Registriert: Do 14. Jun 2007, 10:08
Kontaktdaten:

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

Beitrag von Nebel » Mi 25. Mai 2011, 20:21

Spider IT hat geschrieben:Hi Nebel,

nicht lang=2 sondern changelang=2 benutzen ;)

Gruß
René
Besten Dank René,
das wars :)

Dabei ist mir direkt noch eine Frage eingefallen: Umlaute gehen nicht als eingehende URL oder? Also .../dütsch2011>>>front_content.php?idcat=123
Schöne Grüße
Nebel

Module: FLV Media Player | DivX Webplayer | Quicktime Player

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

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

Beitrag von Spider IT » Mi 25. Mai 2011, 21:32

Umlaute werden in Contenido bereits in "reguläre" Buchstaben umgewandelt, aus ü wird ue.
Soweit ich weiß wird AMR den fast passenden Link versuchen zu erkennen (Ähnlichkeit), aber wird ihn nicht generieren können.
Dadurch hast du dann wohl unterschiedliche Links auf dem gleichen Content (nennt sich "duplicate content").

Gruß
René

langwebdesign
Beiträge: 74
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

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

Beitrag von langwebdesign » Do 30. Jun 2011, 08:50

Hallo zusammen,

ich habe das mod rewrite im Einsatz und müsste die .htacces um eine Regel erweitern um einen Aufruf ala http://servername/ordner auf einen anderen Server umzuleiten ohne den Rest davon kaputt zu machen.

Meine versuche sind leider gescheitert und von rewrite rules hab ich nicht so viel Ahnung.

Code: Alles auswählen

# One RewriteRule to rule them all
# --------------------------------
RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]
kann mir von euch jemand helfen das ich das da mit rein bekomme?

Danke
Stephan
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

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

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

Beitrag von xmurrix » Do 30. Jun 2011, 10:16

langwebdesign hat geschrieben:...
die .htacces um eine Regel erweitern um einen Aufruf ala http://servername/ordner auf einen anderen Server umzuleiten...
...kann mir von euch jemand helfen das ich das da mit rein bekomme?...
Hallo,
setze folgende Zeilen in die .htaccess ein, am Besten an den Anfang gleich nach der RewriteBase-Direktive:

Code: Alles auswählen

# Aufbau: RedirectPermanent urlpfad neueurl
RedirectPermanent /exampledir http://host/exampledir
RedirectPermanent /examplepage.html http://host/examplepage.html
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.

langwebdesign
Beiträge: 74
Registriert: So 23. Okt 2005, 14:11
Wohnort: Titting
Kontaktdaten:

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

Beitrag von langwebdesign » Do 30. Jun 2011, 10:35

Hi,

Danke funktioniert, das hab ich mir mal wieder viel komplizierter vorgestellt....
Dev Umgebung: Contenido Git Develop Branch, Win 10, PHP 7.2.13, VS Code, XDebug, PHP integrated Webserver
Aktuelle arbeite ich am LDAP Plugin für Frontend (und irgendwann Backend) User, Feedback erwünscht!

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

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

Beitrag von stefkey » Di 5. Jul 2011, 21:30

Hallo,

folgendes Phänomen: Wenn der Artikel(alias) mit einem "T" beginnt wird die Startseite aufgerufen. Wenn ich in den Artikeleigenschaften den Aliasnamen mit "t" geginnen lasse funktioniert alles, und wieder zurückgestellt kommt wieder die Startseite! Aliase zurücksetzen habe ich schon probiert - kein Erfolg.
Hat das Modul vielleicht ein Problem mit einem großen T als erster Buchstabe im Aliasnamen? Modulversion 0.5.5 mit Contenido 4.8.12

Grüße, stefkey

PS Die Sache mit dem ü ist bekannt?!? und hängt mit 4.8.12 zusammen, oder?!? Da war doch was.. ich meine ich hätte mal was gelesen. Ein ü im Artikelnamen wird nicht in ue übersetzt sondern das ü verschwindet einfach...

xmurrix
Beiträge: 3143
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 6. Jul 2011, 00:15

stefkey hat geschrieben:...folgendes Phänomen: Wenn der Artikel(alias) mit einem "T" beginnt wird die Startseite aufgerufen. Wenn ich in den Artikeleigenschaften den Aliasnamen mit "t" geginnen lasse funktioniert alles, und wieder zurückgestellt kommt wieder die Startseite! Aliase zurücksetzen habe ich schon probiert - kein Erfolg.
Hat das Modul vielleicht ein Problem mit einem großen T als erster Buchstabe im Aliasnamen?...
So ein Verhalten wäre mir wirklich neu. Wenn die AMR-Konfigurationen ('URLs in Kleinbuchstaben' oder 'Duplicated Content verhindern') nicht das Problem verursachen, müsste man sich das genauer ansehen. Solltest nicht weiter kommen, kannst mir eine PN mit den Zugansdaten zum Projekt schicken, ich schau mir das dan bei Gelegenheit an.
stefkey hat geschrieben:...Die Sache mit dem ü ist bekannt?!? und hängt mit 4.8.12 zusammen, oder?!? Da war doch was.. ich meine ich hätte mal was gelesen. Ein ü im Artikelnamen wird nicht in ue übersetzt sondern das ü verschwindet einfach...
Es kann sein, dass Artikelaliase unter 4.8.12 nicht korrekt gesetzt werden, wenn der Artikelname Umlaute enthält. An der Funktion, die Umlaute und andere Sonderzeichen in ASCII Zeichen umwandelt, wurde ein paar mal nachgebessert. Es kann also sein, dass dies unter 4.8.12 nocht etwas Probleme macht. Bei einer 4.8.15 funktioniert das Prima.

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