Plugin Advanced Mod Rewrite für Contenido 4.8.x

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 » Mo 27. Apr 2009, 19:14

xmurrix hat geschrieben: Kannst du bitte die Option "Artikelname an URLs anhängen" wieder aktivieren und das Verhalten nochmal testen?
Vermutlich wird das die Ursache sein.
Hi xmurrix,

ich habe die Option erst aktiviert und getestet und anschließend wieder deaktiviert. In beiden Fällen werden jetzt auch nicht umgeschriebene URLs korrekt aufgerufen. Auch, wenn die Option 'Bei ungültigen Artikeln zur Fehlerseite weiterleiten' aktiv ist! (Habe sie als letztes aktiviert).
Schöne Grüße
Nebel

Module: FLV Media Player | DivX Webplayer | Quicktime Player

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 » Mo 27. Apr 2009, 23:47

Hallo,
jetzt mache ich schon den ganzen Tag mit diesem Plugin rum und habe auch schon mehrere Fehler beseitigt.
U.a. hatte ich Probleme mit diesem Eintrag in der htaccess

Code: Alles auswählen

RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]
Diese Zeile sperrte mir einige Ordner die im Contenido-Verzeichnis lagen.

In der class.modrewriteurlstack.php mußte ich auch die Änderungen vornehmen, wie sie hier http://forum.contenido.org/viewtopic.ph ... 08#p127759 beschrieben wurden.

Release: 4.8.11
plugin_advanced_mod_rewrite_0.5.3


Meine Struktur:
root/meinOrdner/contenido
root/meinOrdner/cms

usw.

Die htaccess liegt unter
root/meinOrdner
und dort steht
RewriteBase /cms

Wenn ich nun das Plugin aktiviere, dann sehen meine URLs so aus
www. meinedomain.de/meinOrdner/startseite.html
oder
www. meinedomain.de/meinOrdner/links.html
Ein Klick bringt folgendes Ergebnis:
Objekt nicht gefunden! Error 404

In den Plugin-Einstellungen habe ich
/meinOrdner/
Pfad zur htaccess angegeben.


Ich gehe im Moment von falschen Einstellungen aus, sehe aber den Wald vor lauter Bäumen nicht und das,
obwohl ich hier alle 49 Seiten gelesen habe.

Ich würde mich freuen wenn ihr mir helfen könntet.
Danke!

Nachtrag:
wenn ich beim Hoster die Domain direkt auf meinOrdner laufen lasse, ist dann meinOrdner das Rootverzeichnis für Contenido?
Aus dem Rootverzeichnis scheint das Plugin ja besser zu funktionieren.
Muss ich dann auch alle config-Dateien entsprechend anpassen?

xmurrix
Beiträge: 3147
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 28. Apr 2009, 15:32

Hallo anjaka,
anjaka hat geschrieben:

Code: Alles auswählen

RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]
Diese Zeile sperrte mir einige Ordner die im Contenido-Verzeichnis lagen.
normalerweise kann man das mit einer Regel in der .htaccess steuern, dann werden Anfragen, die auf contenido/* gehen, vom Apache mod rewrite durchgelassen.

Code: Alles auswählen

RewriteRule ^contenido/.*$ - [L]

# oder auch bei dir so, da die contenido installation unter root/meinOrdner liegt
RewriteRule ^meinOrdner/contenido/.*$ - [L]
anjaka hat geschrieben:...
Meine Struktur:
root/meinOrdner/contenido
root/meinOrdner/cms

usw.

Die htaccess liegt unter
root/meinOrdner
und dort steht
RewriteBase /cms

Wenn ich nun das Plugin aktiviere, dann sehen meine URLs so aus
www. meinedomain.de/meinOrdner/startseite.html
oder
www. meinedomain.de/meinOrdner/links.html
...
Bei dir müsste die RewriteBase folgendermaßen lauten:

Code: Alles auswählen

RewriteBase /meinOrdner/cms
Die Plugineinstellung "Pfad zur .htaccess" ist in Ordnung.
anjaka hat geschrieben:...
wenn ich beim Hoster die Domain direkt auf meinOrdner laufen lasse, ist dann meinOrdner das Rootverzeichnis für Contenido?
Aus dem Rootverzeichnis scheint das Plugin ja besser zu funktionieren.
Muss ich dann auch alle config-Dateien entsprechend anpassen?
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]
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.

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 » Di 28. Apr 2009, 16:36

Hallo xmurrix,
ich danke dir erstmal.
Werde heute Abend die Domnain auf das Verzeichnis verweisen und dann mal schauen.
Es ist das erste Mal das ich Probleme mit mod_rewrite habe, aber vielleicht liegt es ja auch am Hoster.

Gruß und erstmal vielen Dank!

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 5. Mai 2009, 14:20

Ich quäle mich mit dem Advanced Mod-Rewrite Modul.
Ich habe den kompletten Thread durchgearbeitet und habe alles versucht, was hier steht, aber ich bekomme es immer noch nicht hin.
Meine Links werden alle so dargestellt:

http://127.0.0.1/cms/mandantxy/deutsch/?a=25&level=0

Ich enwickle die Seite lokal mit Xamp, und hatte eigentlich wenig Probleme mit allem.

Ich habe auch ausprobiert die Contenido_NavMain_Util.class.php zu verändern,
meine Links sehen jetzt in der Hauptnavigation so aus: http://127.0.0.1/cms/mandantxy/deutsch/

und egal wo man hinklickt, ich bekomme die "Objekt nicht gefunden!-Seite"
nicht mal meine eigene Errorpage...

Was kann es noch sein?

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

website| XING-Profil | twitter |

xmurrix
Beiträge: 3147
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 5. Mai 2009, 14:51

Hallo danielawoe,
danielawoe hat geschrieben:...
http://127.0.0.1/cms/mandantxy/deutsch/?a=25&level=0

Ich enwickle die Seite lokal mit Xamp, und hatte eigentlich wenig Probleme mit allem.

Ich habe auch ausprobiert die Contenido_NavMain_Util.class.php zu verändern,
meine Links sehen jetzt in der Hauptnavigation so aus: http://127.0.0.1/cms/mandantxy/deutsch/
Falls alle Links in der Hauptnavigation auf http://127.0.0.1/cms/mandantxy/deutsch/ gehen, ist was faul. Die Ursache kann da vielfältig sein, hast du dir mal den Bereich "Bekannte Bugs" im Startthread angesehen?

Wie hast du bei dir Contebido genau installiert?
Normalerweise ist das:

Code: Alles auswählen

htdocs
    cms (default mandanten verzeichnis)    
    conlib
    contenido
Bei deiner URL http://127.0.0.1/cms/mandantxy/deutsch/ scheint der Mandant innerhalb von cms zu sein, hast du etwa Contenido unter htdocs/cms/ installiert?
danielawoe hat geschrieben:...und egal wo man hinklickt, ich bekomme die "Objekt nicht gefunden!-Seite"
nicht mal meine eigene Errorpage...
Das ist meist ein Zeichen dafür, dass entweder das Apache mod_rewrite Modul nicht richtig konfiguriert wurde, du also im htdocs Verzeichnis keine Rewrite-Regeln in der .htaccess angeben kannst, oder das Rewrite Ziel ist falsch. Ds Erstere ist unter Stichwort "AllowOverride" auch im Startthread beschrieben.

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 » Di 5. Mai 2009, 15:18

aaalso

meine Seite liegt Normal unter http://127.0.0.1/cms/cms/
also

Code: Alles auswählen

htdocs
 cms  
    cms (default mandanten verzeichnis)   
    conlib
    contenido
Ich habe alle "bekannten Bugs" "abgearbeitet", sitze da aber auch schon so lange dran, dass ich das alles gar nicht mehr rückgängig machen kann...

die .htaccess habe ich direkt aus dem Modul übernommen und die eigentlich gar nicht verändert

Code: Alles auswählen

###############################################################################
# Contenido AMR plugin restrictive rewrite rules set
#
# Contains strict rules, each rewrite exclusion must be set manually.
#
# - Exclude requests to directories usage/, contenido/, setup/, cms/upload/
# - Exclude requests to cms/front_content.php
# - Pass thru requests to common ressources (pics, js, css, pdf)
#
###############################################################################


# Enable following lines to run PHP5 on 1und1.de (1and1.com)
# ----------------------------------------------------------
#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

<IfModule mod_rewrite.c>

# Enable rewrite engine
# ---------------------
RewriteEngine on


# Specify a base URL-path for the rules
# -------------------------------------
RewriteBase /cms


# Catch some common exploits in query string to get rid of them
# NOTE: Conditions to prevent protocolls (ftp, http[s]) in query string could be a
#       disadvantage in some cases
# --------------------------------------------------------------------------------
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


# Exclude some files and directories from rewriting
# -------------------------------------------------
RewriteRule ^usage/.*$ - [L]
RewriteRule ^contenido/.*$ - [L]
RewriteRule ^setup/.*$ - [L]
RewriteRule ^cms/upload/.*$ - [L]
RewriteRule ^cms/test/.*$ - [L]
RewriteRule ^cms/front_content.php.*$ - [L]
# enable following line if you want to run the plugin test
RewriteRule ^cms/mr_test.php.*$ - [L]


# One RewriteRule to rule them all
# --------------------------------
RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf)$ front_content.php [NC,QSA,L]


</IfModule>
ich habe auch über diese Umleitungs-.htaccess zu www.contenido.de getestet, ob mod_rewrite am Server richtig konfiguriert ist..es leitete um...

die httpd.conf steht auf AllowOverride all-

... danke für Deine HIlfe...
Wer schon nicht überzeugen kann soll wenigstens für Verwirrung sorgen.

website| XING-Profil | twitter |

xmurrix
Beiträge: 3147
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 5. Mai 2009, 15:46

Hallo,

d. h. deine .htaccess liegt unter htdocs/cms/, dann müsstest du in der .htaccess die RewriteBase auf /cms/cms umstellen und auch die Außnameregeln weiter unten sind auch anzupassen

Code: Alles auswählen

RewriteRule ^cms/setup/.*$ - [L]
RewriteRule ^cms/upload/.*$ - [L]
...
In der Pluginkonfiguration gibst du als Pfad zu .htaccess dann '/cms/' an.

So sollte es eigentlich funktionieren.

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 » Di 5. Mai 2009, 15:54

Jetzt werde ich ins Frontend umgeleitet wenn ich das Backend aufrufen will !! komme also nicht mehr bis zur Plungin Konfiguration :cry:

// EDIT: ich habe noch eine .htaccess in htdocs liegen (warum auch immer) die sich nicht löschen und nicht bearbeiten lässt- kann die etwas damit zu tun haben!?
Wer schon nicht überzeugen kann soll wenigstens für Verwirrung sorgen.

website| XING-Profil | twitter |

xmurrix
Beiträge: 3147
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 5. Mai 2009, 16:16

danielawoe hat geschrieben:Jetzt werde ich ins Frontend umgeleitet wenn ich das Backend aufrufen will !! komme also nicht mehr bis zur Plungin Konfiguration :cry:

// EDIT: ich habe noch eine .htaccess in htdocs liegen (warum auch immer) die sich nicht löschen und nicht bearbeiten lässt- kann die etwas damit zu tun haben!?
Du müsstest Anfragen, die auf das Contenido Backend gehen, vom Umschreiben ausschließen. Hast du in deiner .htaccess die Regel

Code: Alles auswählen

RewriteRule ^cms/contenido/.*$ - [L]
drin?

Was steht denn in der .htaccess im htdocs drin? Die sollte unter Windows doch löschbar sein, was krigst du denn für eine Meldung beim Löschen? Falls irgendeine Anwendung die .htaccess nicht freigibt kannst du das mit dem Freeware Tool "Unlocker" lösen.

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 6. Mai 2009, 09:57

Hallo xmurrix,

also die RewriteRule habe ich drin, aber ich denke bevor ich mich damit auseinander setze, ob der Apache richtig konfiguriert ist, etc. warte ich erstmal ab, bis mein Server verfügbar ist und ich die Seite hochladen kann... Dann habe ich sicherlich noch genug zu tun... und dann werde ich nochmal versuchen das Plugin zum laufen zu bringen und wenn ich dann nichts hin bekomme,werde ich mich hier noch mal melden... Alle andere wäre doch eigentlich Quatsch...

Trotzdem sehr vielen Dank für Deine Mühe!
Liebe Grüße
Daniela
Wer schon nicht überzeugen kann soll wenigstens für Verwirrung sorgen.

website| XING-Profil | twitter |

baumpaul
Beiträge: 346
Registriert: Mo 1. Mär 2004, 12:59
Kontaktdaten:

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

Beitrag von baumpaul » Mi 6. Mai 2009, 10:48

Klappts eigentlich schon mit 4.8.12?

xmurrix
Beiträge: 3147
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. Mai 2009, 23:01

Hallo baumpaul,
baumpaul hat geschrieben:Klappts eigentlich schon mit 4.8.12?
bin selber noch nicht dazu gekommen, das Plugin mit der neuen 4.8.12 zu testen. Laut "Oldperl" funktioniert das Plugin auch unter der Version 4.8.12.

Die Datei contenido/includes/config.chains.php sollte man manuell abgleichen. Die Version vom Plugin ist nicht kompatibel mit der 4.8.12 er Version. In der 4.8.12 ist eine neue Chain hinzu gekommen.

Es reicht aus, wenn man in der contenido/includes/config.chains.php aus 4.8.12 am Ende folgende Zeilen einfügt:

Code: Alles auswählen

####################################################################################################
// plugin Advanced Mod Rewrite - Murat Purc (aka xmurrix)

/**
 * Chain Contenido.Frontend.CreateURL
 * This chain is called inside some scripts (front_content.php) to create urls.
 *
 * @todo: Iis added to provide downwards compatibility for the amr plugin.
 *        There is no need for this chain since Contenido 4.8.9 contains its own Url building feature.
 * @deprecated
 *
 * Parameters & order:
 * string   URL including parameter value pairs
 *
 * Returns:
 * string 	Returns modified URL
 */
$_cecRegistry->registerChain("Contenido.Frontend.CreateURL", "string");

// end plugin Advanced Mod Rewrite
####################################################################################################
Das ist die alte Plugin Chain, mit der die URLs früher generiert wurden. Wird halt noch ein weilchen mitgeschleppt, um Abwärtskompatibel zur früheren Version zu bleiben.
Falls du aber dir sicher bist, dass keine Module oder Plugins die Funktion mr_buildNewUrl() aufrufen, kannst du dir die Anpassung schenken.

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.

notaus
Beiträge: 98
Registriert: Di 13. Dez 2005, 14:18
Kontaktdaten:

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

Beitrag von notaus » Do 7. Mai 2009, 07:10

Hallo zusammen,

ich habe ein Problem beim Duplizieren & Synchronisieren von Kategorien.
Dort wird der Wert urlpath nicht ausgefüllt. D.h. der Redakteur muss jedesmal in die Kategoriekonfiguration, den duplizierten / synchronisierten Eintrag nehmen, anklicken & bestätigen.
Über "Aliase zurücksetzen" werden leider selbst definerte und optimierte Aliase immer wieder auf default gesetzt.
Gibts da zwischenzeitlich einen Workaround oder Lösung?

Grüße

xmurrix
Beiträge: 3147
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 8. Mai 2009, 12:12

Hallo,
notaus hat geschrieben:...
ich habe ein Problem beim Duplizieren & Synchronisieren von Kategorien.
Dort wird der Wert urlpath nicht ausgefüllt. D.h. der Redakteur muss jedesmal in die Kategoriekonfiguration, den duplizierten / synchronisierten Eintrag nehmen, anklicken & bestätigen...
Meinst du mit "Duplizieren & Synchronisieren" die Übernahme der Struktur in eine andere Sprache?
Um welche Version von Contenido und des AMR-Plugins handelt es sich dabei?

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