Plugin Advanced Mod Rewrite für Contenido 4.8.x

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

Beitrag von xmurrix » Do 23. Okt 2008, 20:56

Martin S. hat geschrieben: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.
Dann sollte bei dir alles mit den Standardeinstellungen funktionieren.

Konfiguration des Plugins:
- Pfad zur .htaccess Datei mit "/"

In der .htaccess:
- Die RewriteBase mit "RewriteBase /cms"
- Ausschließen der front_content.php mit "RewriteRule ^cms/front_content.php.*$ - [L]"

Wie sieht deine .htaccess aus?

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

Beitrag von Martin S. » Fr 24. Okt 2008, 07:58

ich bewundere dein engagement, vielen Dank dafür.

also im Plugin habe ich /cms/ weil ja sonst die front_content.php Anfragen ins leere laufen.

und die htaccess sieht so aus.

Code: Alles auswählen

AddType x-mapp-php5 .php 
AddHandler x-mapp-php5 .php 

<IfModule mod_rewrite.c>
RewriteEngine on

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


# Exclude some files and directories from rewriting
# -------------------------------------------------
RewriteRule ^usage/.*$ - [L]
RewriteRule ^contenido/.*$ - [L]
RewriteRule ^setup/.*$ - [L]
RewriteRule ^cms/upload/.*$ - [L]
RewriteRule ^cms/front_content.php.*$ - [L] 
# enable following line if you want to run the plugin test
#RewriteRule ^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|swf|flv)$ front_content.php [NC,QSA,L]

</IfModule>
Aber wie gesagt, ich möchte ja, dass die Anfragen von aussen mit cms/front_content.php?idcat=xxx direkt an die richtige rewright Andresse weitergeleitet werden, aber das geht leider nur mit cms-Eintrag im Plugin, ohne läufts ins leere.

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

Beitrag von xmurrix » Fr 24. Okt 2008, 11:21

Martin S. hat geschrieben:...
Aber wie gesagt, ich möchte ja, dass die Anfragen von aussen mit cms/front_content.php?idcat=xxx direkt an die richtige rewright Andresse weitergeleitet werden, aber das geht leider nur mit cms-Eintrag im Plugin, ohne läufts ins leere...
Du möchtest dass ein Request wie /cms/front_content.php?idcat=xxx nach /kategorie/artikelname.html weitergeleitet wird, also die neue URL in der Browserzeile steht?

Wenn ja, dann sollte es mit einem Redirect in der .htaccess gehen:

Code: Alles auswählen

# 301 = moved permanently
Redirect 301 /cms/front_content.php?idcat=123 http://domain/kategorie/seite.html
Der eingehende Request ist vom Root aus anzugeben (/cms/...) und die Weiterleitung muss die volle URL enthalten (http://domain...)

Gruß
xmurrix

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

Beitrag von Martin S. » Fr 24. Okt 2008, 11:32

Es gibt viele Module, wie Newsletter, Seite empfehlen usw., diese erzeugen Mails mit front_content.php Pfaden, wenn ich in der Mail darauf klicke komme ich auf eine Fehlerseite und das soll ja nicht sein. Ich kann auch nicht für alle Links eine Redirect 301 setzen, da bin ich ja morgen noch dran, ich meine so wie ich es jetzt habe läuft ja alles sauber, nur dass eben cms zwischen .de und der Kategorie steht. Aber sobald ich das rausnehme laufen die Anfragen ins leere.

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

Beitrag von xmurrix » Fr 24. Okt 2008, 13:17

Martin S. hat geschrieben:Es gibt viele Module, wie Newsletter, Seite empfehlen usw., diese erzeugen Mails mit front_content.php Pfaden, wenn ich in der Mail darauf klicke komme ich auf eine Fehlerseite und das soll ja nicht sein. Ich kann auch nicht für alle Links eine Redirect 301 setzen, da bin ich ja morgen noch dran.
So viele Module wird es nicht geben, aufwändig wird es nur dann, wenn die URLs auch noch verschiedene Parameter mir unterschiedilchen Werten enthalten. Sogar das könnte sich auch mit ein paar Regeln in der .htaccess lösen.

Auch wäre es möglich, das MR Plugin um ein neues Feature zu erweitern, und zwar um das Weiterleiten von eingehenden URLs wie front_content.php?... nach kategorie/artikel.html?..., damit könnte sowas zentral abgefangen werden.

Ich sehe aber das Problem eher woanders. Wenn ein Webauftritt auf SEO-URLs umgestelllt wurde, sollten eigentlich keine URLs mit front_content.php von Modulen generiert werden, aber das ist ein andres Thema...

Gruß
xmurrix

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

Beitrag von Martin S. » Fr 24. Okt 2008, 14:11

OK, dann ist vielleicht mein Grundgedanke dahinter falsch, dachte das Plugin schreibt automatisch die Einträge in der URL auf den neuen um, da habe ich mich wohl geirrt, jedenfalls läuft so ja alles wie gewünscht und die Erweiterung des Plugins oder der htaccess ist alles aufwendiger als mit dem simplen cms dazwischen zu leben, von daher erst mal vielen Dank für deine Unterstützung, dann lass ich es jetzt einfach so.

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

Beitrag von stefkey » Mo 27. Okt 2008, 17:15

Hallo zusammen,

wie muss ich die .htaccess anpassen damit sich beim Aufruf der Website www.example.com eine Introseite index.html öffnet.
In diesem Intro gibt es dann entsprechende Links zur Seite die mit mod_rewrite so aussehen:

/de/home/
/de/konakt/
usw.


Ich denke das ich da nur eine Art Weiterleitung auf /index.html statt auch front_content.php machen muss, oder?


Grüße,
stefkey

barni
Beiträge: 127
Registriert: Fr 28. Okt 2005, 20:54
Kontaktdaten:

Beitrag von barni » Mo 27. Okt 2008, 17:31

Hi Leute,

GEILES MODUL!
Echt wahr...total easy und geht top!

Aber eine Sache will nicht - und zwar die Artikelweiterleitung!

Wenn ich in einem Artikel (Eigenschaften)
eine Weiterleitung auf einen anderen Artikel einrichte, dann funktioniert das nicht. Es kommt nur eine weiße Seite ohne Inhalt.

Leider hat die Suche im Forum nix ergeben.
Kennt Ihr das Problem?

Danke und Grüße
Barni
ich bin genauso hilflos wie ich tu ;)

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Beitrag von BagHira » Mo 27. Okt 2008, 19:05

barni hat geschrieben:Aber eine Sache will nicht - und zwar die Artikelweiterleitung!
Schau mal hier: http://forum.contenido.org/viewtopic.ph ... 782#121782
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

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

Beitrag von xmurrix » Mo 27. Okt 2008, 22:14

stefkey hat geschrieben:...
wie muss ich die .htaccess anpassen damit sich beim Aufruf der Website www.example.com eine Introseite index.html öffnet...
Definiere einfach folgende Regeln in der .htacccess, falls bei dir "RewriteBase /cms" ist:

Code: Alles auswählen

# requests auf die index.html nicht umschreiben.
RewriteRule ^cms/index.html$ - [L]

# request auf root geht auf /cms/index.html (wenn rewritebase = /cms)
RewriteRule ^$ index.html [L]
Das Intro sollte dort liegen, wo auch die RewriteBase ist. Normalerweise ist das der Ordner /cms, und da kommt das Intro (index.html) hin. Verlinkung vom Intro ist dann mit /de/home/... anzugeben.

Gruß
xmurrix

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

Beitrag von stefkey » Do 30. Okt 2008, 00:55

Bestne Dank, klappt perfekt! (Ohne ein extra Layout im Contenido anzulegen... das wäre ja zu einfach :-) )

Die erste Regel war klar, aber die 2. Regel ???? verstehe ich nich :oops:

# requests auf die index.html nicht umschreiben.
RewriteRule ^cms/index.html$ - [L]

# request auf root geht auf /cms/index.html (wenn rewritebase = /cms)
RewriteRule ^$ index.html [L]


Vielen Dank nochmal!
stefkey

thoste87
Beiträge: 189
Registriert: Fr 27. Jun 2008, 12:57
Kontaktdaten:

popups im ie

Beitrag von thoste87 » Do 30. Okt 2008, 11:32

Hallo verwende die contenido 4.8.6 und plugin dazu. funktioniert einwandfrei. jedoch funktionieren die popups vom tinymce nicht mehr im ie. hilfe??

lg,

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

Beitrag von xmurrix » Do 30. Okt 2008, 14:31

Hallo,
stefkey hat geschrieben:...Die erste Regel war klar, aber die 2. Regel ???? verstehe ich nich :oops: ...

# requests auf die index.html nicht umschreiben.
RewriteRule ^cms/index.html$ - [L]

# request auf root geht auf /cms/index.html (wenn rewritebase = /cms)
RewriteRule ^$ index.html [L]
...
da muss ich auch manchmal etwas überlegen warum das so ist. Im Grunde ist der Aufbau der RewriteRule folgendermaßen:

Code: Alles auswählen

RewriteRule ANKOMMENDE_URL ZIEL_URL [OPTIONEN]
Bei der ersten RewriteRule wäre das:
ANKOMMENDE_URL: ^$ (Direkter Aufruf vom wwwroot)
ZIEL_URL: - (also nichts machen)

Die zweite RewriteRule ist dann:
ANKOMMENDE_URL: ^cms/index.html$
ZIEL_URL: index.html (weiterleiten an index.html. Da aber die RewriteBase /cms ist und die RewriteBase sich auf die Ziel-Url bezieht, geht das dann am Ende an /cms/index.html)

Gruß
xmurrix

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

Re: popups im ie

Beitrag von xmurrix » Do 30. Okt 2008, 14:36

Hallo,
thoste87 hat geschrieben:...verwende die contenido 4.8.6 und plugin dazu. funktioniert einwandfrei. jedoch funktionieren die popups vom tinymce nicht mehr im ie....
schau dir mal folgenden Post zum Thema Popups und IE an:
http://forum.contenido.org/viewtopic.ph ... 710#122710
In der Pluginversion die du verwendest, wurde dies noch nicht behoben.

Gruß
xmurrix

thoste87
Beiträge: 189
Registriert: Fr 27. Jun 2008, 12:57
Kontaktdaten:

Beitrag von thoste87 » Do 30. Okt 2008, 15:08

weißt du keine lösung so auf die schnelle - leider gibt es die zeilen aus dem anderen thread nicht...

der kunde ruft immer wieder an und beklagt sich...

lg,

Gesperrt