Plugin Advanced Mod Rewrite für Contenido 4.8.x

SunsetSonny
Beiträge: 10
Registriert: Sa 13. Sep 2008, 09:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von SunsetSonny » Do 16. Okt 2008, 15:13

Ok tut mir leid...

Habe das Problem direkt gelöst bekommen... :oops:

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Re: jetzt funzt es

Beitrag von schlaucher » Do 16. Okt 2008, 15:24

SunsetSonny hat geschrieben: Hi schlaucher,

ich habe das gleiche Problem auf einem Strato Server...

Wie hast du das Problem gelöst? Was muss ich bei "?contenido=" hinter das = schreiben?

Mfg
David
Du erhälts nach der Anmeldung ans Backend eines SessionID. Diese erscheint dann auch in der URL z.B. "?contenido=0936481814750935"

Anschließend einfach in die Adresszeile noch mal das install.php aufrufen und die SessionID anhängen z.B.
http://[deine Domain]/contenido/plugins/mod_rewrite/install.php?contenido=0936481814750935

Damit läuft die Installation.

Mein Problem ist, dass das MR nicht sauber funktioniert. Ich habe aber erst später Zeit, den Fehler zu suchen.

Habe da total komische Phänomene. Sobald ich das MR aktiviere, kann ich im Backend nichts mehr aufrufen. es erscheint immer nur die Startseite aus dem Frontend.

Ich weiss noch nicht ob es ein Strato Problem ist. Aber ich bin mir da auch nicht so sicher. Die Seite ist sowieso total langsam, zum Mäuse melken! :motz:

Hoffe der Kunde wechselt bald zu einem anderen Provider, so Probleme hatte ich noch nie.

Mal sehen was ich noch finde.

Gruß
schlaucher

SunsetSonny
Beiträge: 10
Registriert: Sa 13. Sep 2008, 09:09
Wohnort: Berlin
Kontaktdaten:

Re: jetzt funzt es

Beitrag von SunsetSonny » Do 16. Okt 2008, 19:08

schlaucher hat geschrieben: Mein Problem ist, dass das MR nicht sauber funktioniert. Ich habe aber erst später Zeit, den Fehler zu suchen.

Habe da total komische Phänomene. Sobald ich das MR aktiviere, kann ich im Backend nichts mehr aufrufen. es erscheint immer nur die Startseite aus dem Frontend.

Ich weiss noch nicht ob es ein Strato Problem ist. Aber ich bin mir da auch nicht so sicher. Die Seite ist sowieso total langsam, zum Mäuse melken! :motz:

Gruß
schlaucher
Die Geschwindigkeit bei Strato finde ich ebenfalls sehr enttäuschend. Mein MR läuft ebenfalls noch nicht, aber ich hatte auch noch nicht viel Zeit zum Testen...

Ich nehme an, dass AllowOverride bei Strato auf "none" gesetzt ist. Somit kann das Plugin auch nicht funktionieren... Ich werde hoffentlich morgen ein bisschen Zeit finden, um mir das genauer anzusehen und melde mich, wenn ich das Problem gelöst habe.

Mfg
David

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

Re: jetzt funzt es

Beitrag von xmurrix » Do 16. Okt 2008, 23:03

Hallo schlaucher,
schlaucher hat geschrieben:...Habe da total komische Phänomene. Sobald ich das MR aktiviere, kann ich im Backend nichts mehr aufrufen. es erscheint immer nur die Startseite aus dem Frontend....
Wenn du nach dem Aktivieren von MR gar keine Backendseite aufrufen kannst, liegt das sicherlich daran, dass Anfragen an das Verzeichnis /contenido vom Umschreiben nicht ausgeschlossen werden. Dafür gibt es folgende Regel in der .htaccess und die sorgt dafür, dass Requests an /contenido/... von den Regeln in der .htaccess ignoriert werden:

Code: Alles auswählen

RewriteRule ^contenido/.*$ - [L]
Diese Regel gilt aber für eine Standardinstallation, also wenn im wwwroot die .htaccess, das Verzeichnis /contenido und /cms liegt. Für andere Konstellationen ist das anzupassen.

Werden aber bei dir die Artikel im Backend nicht angezeigt, z. B. inlineediting Modus oder Vorschau, dann wurde das Anpassen der URLs aktiviert, obwohl dies im Backend nicht sein soll. Es gibt in der Pluginversion 0.4.5 einen Bug. Das Problem ist im Startthema beschrieben, auch gibt es dort einen Link zur neuen Version der Datei config.plugin.php, die den Bug behebt.
http://forum.contenido.org/viewtopic.php?t=21578
Die neue Version der Datei config.plugin.php könnte auch dein Problem beheben.

Gruß
xmurrix

schlaucher
Beiträge: 444
Registriert: Mi 14. Sep 2005, 10:38
Wohnort: Karlsruhe
Kontaktdaten:

Re: jetzt funzt es

Beitrag von schlaucher » Fr 17. Okt 2008, 10:18

xmurrix hat geschrieben:Hallo schlaucher,
schlaucher hat geschrieben:...Habe da total komische Phänomene. Sobald ich das MR aktiviere, kann ich im Backend nichts mehr aufrufen. es erscheint immer nur die Startseite aus dem Frontend....
Wenn du nach dem Aktivieren von MR gar keine Backendseite aufrufen kannst, liegt das sicherlich daran, dass Anfragen an das Verzeichnis /contenido vom Umschreiben nicht ausgeschlossen werden. Dafür gibt es folgende Regel in der .htaccess und die sorgt dafür, dass Requests an /contenido/... von den Regeln in der .htaccess ignoriert werden:

Code: Alles auswählen

RewriteRule ^contenido/.*$ - [L]
Diese Regel gilt aber für eine Standardinstallation, also wenn im wwwroot die .htaccess, das Verzeichnis /contenido und /cms liegt. Für andere Konstellationen ist das anzupassen.

Werden aber bei dir die Artikel im Backend nicht angezeigt, z. B. inlineediting Modus oder Vorschau, dann wurde das Anpassen der URLs aktiviert, obwohl dies im Backend nicht sein soll. Es gibt in der Pluginversion 0.4.5 einen Bug. Das Problem ist im Startthema beschrieben, auch gibt es dort einen Link zur neuen Version der Datei config.plugin.php, die den Bug behebt.
http://forum.contenido.org/viewtopic.php?t=21578
Die neue Version der Datei config.plugin.php könnte auch dein Problem beheben.

Gruß
xmurrix
Hi,
leider hat die neue config.plugin.php mein Problem nicht behoben. Sobald ich die .htaccess aktiviere spinnt die ganze Seite :evil:

Die Pfade sind Standard und auch sonst habe ich keine Sonderlocken. Ich habe dein Plugin schon mehrmals bei verschiedenen Providern in Contenidoprojekten am laufen. (Bisher immer ohne Probleme).

Nur jetzt auf diesem StratoServer zickt alles rum. Wenn ich das MR in der htaccess aktiviere kann ich mich noch am Backend anmelden. Im Frame4 erschein aber immer die aktuelle Startseite der Präsenz. Egal welchen Menüpunkt ich oben anwähle, es erscheint immer die Startseite (nicht mal im Edit Modus sondern in der Vorschau)

Habe dann mal versucht das Frontend aufzurufen. Dort wird alles noch mal langsamer. Nach ewiger Ladezeit kam dann mal eine Seite mit einer total kryptischen URL http://[domain]/kategoriename/unterkategorie/front_conten.php?id=xx

Hab es jetzt erst mal wieder deaktiviert, da die alte Präsenz noch im /wwwroot aufgerufen wird.

Gruß
schlaucher

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

Re: jetzt funzt es

Beitrag von xmurrix » Fr 17. Okt 2008, 12:07

schlaucher hat geschrieben:...Nur jetzt auf diesem StratoServer zickt alles rum. Wenn ich das MR in der htaccess aktiviere kann ich mich noch am Backend anmelden. Im Frame4 erschein aber immer die aktuelle Startseite der Präsenz. Egal welchen Menüpunkt ich oben anwähle, es erscheint immer die Startseite (nicht mal im Edit Modus sondern in der Vorschau)...
Das ist schonmal ein Hinweis dafür, dass mod_rewrite dort im Grunde funktioniert. Ich vermute, dass der Strato-Server etwas modifizierte Angaben in der .htaccess haben möchte.

Versuche mal einfach an der RewriteBase und an den RewriteRules herumzuspielen.

Code: Alles auswählen

# standard einstellung fuer rewrite base
RewriteBase /cms

# vielleicht hilft
RewriteBase cms

# oder sogar ganz auslassen
# RewriteBase /cms


# standard einstellung zum ausliessen des contenido-ordners
RewriteRule ^contenido/.*$ - [L]

# vielleicht hilft
RewriteRule ^/contenido/.*$ - [L]
Gruß
xmurrix

SunsetSonny
Beiträge: 10
Registriert: Sa 13. Sep 2008, 09:09
Wohnort: Berlin
Kontaktdaten:

Klappt

Beitrag von SunsetSonny » Fr 17. Okt 2008, 15:54

Hallo schlaucher, hallo xmurrix,

ich bin bei mir ein bisschen weiter gekommen. Ich hatte heute kurz Zeit MR auf dem Strato Server zu konfigurieren. Ich musste legidlich ein paar Anpassung an der .htaccess vornehmen...

Das Backend lässt sich mit eingeschaltenem MR allerdings nicht mehr ansprechen. Ich muss die .htaccess erst wieder entfernen, wenn ich zum Backend will.

Ich habe ebenfalls wie Schlaucher noch eine alte Webseite auf dem Server, also habe ich das Contenido vorerst nur als Test im Unterverzeichnis /cms_test/ installiert. die .htaccess liegt aber im Root Verzeichnis.

Code: Alles auswählen

#######################################################################
#     Diese .htaccess wurde vom STRATO-Webservermanager erstellt      #
#######################################################################

Options -Indexes

AddType application/x-httpd-php3 .php3

AddType application/x-httpd-php43 .php4

AddType application/x-httpd-php5 .php .php5

<IfModule mod_rewrite.c>
RewriteEngine on

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


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


# 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


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

</IfModule>
Mit dieser .htaccess funktioniert MR auf jeden Fall. Ich hoffe ich konnte ein bisschen hilfreich sein.

Mfg
David

Martin S.
Beiträge: 183
Registriert: Fr 14. Jan 2005, 10:46
Kontaktdaten:

Beitrag von Martin S. » Di 21. Okt 2008, 11:55

Hallo, ich verwende die 4.8.8er Version mit der MR 0.4.5. ging alles super einfach, nochmals großes Lob dafür. Die Links werden jetzt sauber umgeschrieben und die URL-Zeilen sehen sauber aus, aber eine kleine Frage habe ich noch.
Alle Anfragen die direkt in der Browserzeile mit der URL cms/front_content.php oder cms/front_content.php?idcat=123 oder wie auch immer, landen immer auf der Fehlerseite, ich dachte eigentlich, dass die Browserzeile direkt in die richtige MR URL umgeschrieben wird, liegt das an meiner .htaccess oder an einer Einstellung des Plugins? Das Problem ist nämlich, dass das Newslettertool zur An-Abmeldung nicht mehr läuft, weil die URL aus der Bestätigungsmail nicht mehr erreichbar ist, genauso auch bei anderen Tools, die die front_content.php in Mails versenden.
Habt ihr einen Tipp für mich? Danke

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

Beitrag von xmurrix » Mi 22. Okt 2008, 23:07

Hallo,
Martin S. hat geschrieben:...Alle Anfragen die direkt in der Browserzeile mit der URL cms/front_content.php oder cms/front_content.php?idcat=123 oder wie auch immer, landen immer auf der Fehlerseite, ich dachte eigentlich, dass die Browserzeile direkt in die richtige MR URL umgeschrieben wird, liegt das an meiner .htaccess oder an einer Einstellung des Plugins?...
in der .htaccess lässt sich das mit folgender Zeile einstellen:

Code: Alles auswählen

# standardeinstellung im plugin, wenn mandantenverzeichnis 'cms'
RewriteRule ^cms/front_content.php.*$ - [L]

# je nach servereinstellung oder installation kann das anders ein
# falls der beispiel oben nicht funzt, einfach andere einstellungen testen
RewriteRule ^/cms/front_content.php.*$ - [L]
RewriteRule ^/front_content.php.*$ - [L]
Dann würde ich, falls aktiviert, die Option "Duplicated Content verhindern" rausnehmen, die lässt Requests mit /front_content.php?... nicht zu.

Gruß
xmurrix

Martin S.
Beiträge: 183
Registriert: Fr 14. Jan 2005, 10:46
Kontaktdaten:

Beitrag von Martin S. » Do 23. Okt 2008, 09:20

Hallo xmurrix,

bin der Lösung ein Stück näher gekommen, dank deiner Anregungen habe ich etwas rumgespielt und in der Einstellung des Plugins den Pfad zur htaccess von "/" in "/cms/" geändert, das hat jetzt zur Folge, dass die Anfragen über front_content.php sauber laufen, aber jetzt wird in der URL www.adresse.de/cms/kategorie ausgegeben, vorher www.adresse.de/kategorie aber das ist das kleinere Übel, lässt sich sicherlich auch noch rausfinden. Vielen Dank

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

Beitrag von xmurrix » Do 23. Okt 2008, 10:13

Hallo,
Martin S. hat geschrieben:...dank deiner Anregungen habe ich etwas rumgespielt und in der Einstellung des Plugins den Pfad zur htaccess von "/" in "/cms/" geändert, das hat jetzt zur Folge, dass die Anfragen über front_content.php sauber laufen, aber jetzt wird in der URL www.adresse.de/cms/kategorie ausgegeben, vorher www.adresse.de/kategorie...
der Pfad zur .htaccess sollte in der Pluginkonfiguration nur dann auf "/cms/" gesetzt werden, wenn auch die .htaccess im cms-Ordner liegt. Normalerweise ist die .htaccess im root-Verzeichnis, also:

Code: Alles auswählen

wwwroot/
    cms/
    conlib/
    contenido/
    ...
    .htaccess
    ...
Dein Problem sollte eher mit Anpassungen an der .htaccess behoben werden. Versuch es mit der Anpassung an der RewriteRule

Code: Alles auswählen

RewriteRule ^cms/front_content.php.*$ - [L]

# z. b. irgendwas + front_content.php + irgendwas, also wenn in der URL  front_content.php vorkommt
RewriteRule ^.*front_content.php.*$ - [L]
Gruß
xmurrix

Martin S.
Beiträge: 183
Registriert: Fr 14. Jan 2005, 10:46
Kontaktdaten:

Beitrag von Martin S. » Do 23. Okt 2008, 10:32

Hallo xmurrix,

ich weiss nicht warum, aber das läuft alles nicht, die Anfragen gehen jedesmal auf die Fehlerseite wenn ich cms aus dem Pfad zur htaccess rausnehme, klingt zwar komisch, ist aber so. Vielleicht muss ich ja auch mehrere htaccess Dateien einsetzen, eine im root für die Umleitung in cms und das Ausklammern des contenido Ordner und eine im cms Ordner mit den anderen Einstellungen, weiss mir sonst keinen Rat.

Martin S.
Beiträge: 183
Registriert: Fr 14. Jan 2005, 10:46
Kontaktdaten:

Beitrag von Martin S. » Do 23. Okt 2008, 10:42

Vergess das mit mehreren htaccess-Dateien, habe ich gerade getestet geht auch nicht.

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

Beitrag von xmurrix » Do 23. Okt 2008, 11:54

Martin S. hat geschrieben:Vergess das mit mehreren htaccess-Dateien, habe ich gerade getestet geht auch nicht.
Das mit der front_content.php sollte auf jeden Fall funktionieren, eventuell ist auch eine Anpassung der RewriteBase bei dir nötig.

Die im Plugin mitgelieferte .htaccess dient als Vorlage und funktioniert bei den meisten Providern und wenn Contenido ganz normal installiert wird, also ohne Änderungen an den Verzeichnissen.
Dennoch kann es ab und an nötig sein, die .htaccess anzupaqssen.

Wie ist denn die Projektstruktur bei dir aufgebaut und bei welchem Provider wird das Projekt gehostet?

Gruß
xmurrix

Martin S.
Beiträge: 183
Registriert: Fr 14. Jan 2005, 10:46
Kontaktdaten:

Beitrag von Martin S. » Do 23. Okt 2008, 13:05

Also ich habe bei 1&1 einen Account und habe hier im root die Installation als Standard ohne Änderungen installiert, hier liegen nebeneinander die Verzeichnisse cms, contenido, conlib usw. Kann mir auch vorstellen, dass es am Provider liegt, aber komisch, dass alles läuft wenn ich die /cms im Plugin eintrage.

Gesperrt