Mod Rewrite mit CMS Made Simple Topic is solved

Deutschsprachiger Support für CMS Made Simple
Post Reply
maninweb

Mod Rewrite mit CMS Made Simple

Post by maninweb »

Hallöchen zusammen...

ich experimentiere gerade im Rahmen meines Wissens mit dem Mod-Rewrite für das CMS herum.
Vorab meine Einstellungen in der config.php...

$config['assume_mod_rewrite'] = true;
$config['page_extension'] = '.html';
$config['internal_pretty_urls'] = false;
$config['use_hierarchy'] = true;
$config['query_var'] = 'page';

und in der htaccess Datei...

RewriteEngine On
RewriteBase /
:
:
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.+)$ index.php?page=$1 [QSA]

Es funktionniert zwar, jedoch fallen mir folgende Effekte auf...

- es werden die Aliase der Seiten genommen
- bei den News-Einträgen sind zwischen dem Root und dem Eintrag Verzeichnisse drin ...de/123/123/newseintrag.html

Meine Fragen...

- gibt es eine Möglichkeit statt der Aliase die Seitentitel zu verwenden? Die sind bei mir eindeutig.
  Oder hat vielleicht jemand das Modul im CMS umgeschrieben? (Ok, ich weiss, man hätte sich's
  vorher überlegen können und die Aliase anders benennen, hinterher ist man immer schlauer.
  Auch sollte ich die Aliase wegen Google nicht mehr ändern, oder?)
- kann man die Verzeichnisse bei den News - Seiten im Mod-Rewrite "wegparsen"?
  Es sind immer zwei: /123/123/

Danke für jede Hilfe und/oder Anregungen im voraus :-)

Gruß
User avatar
hibr
Forum Members
Forum Members
Posts: 73
Joined: Fri Feb 08, 2008 11:22 pm

Re: Mod Rewrite mit CMS Made Simple

Post by hibr »

maninweb wrote: Hallöchen zusammen...

ich experimentiere gerade im Rahmen meines Wissens mit dem Mod-Rewrite für das CMS herum.

[...]

Es funktionniert zwar, jedoch fallen mir folgende Effekte auf...

- es werden die Aliase der Seiten genommen
- bei den News-Einträgen sind zwischen dem Root und dem Eintrag Verzeichnisse drin ...de/123/123/newseintrag.html

Meine Fragen...

- gibt es eine Möglichkeit statt der Aliase die Seitentitel zu verwenden? Die sind bei mir eindeutig.
  Oder hat vielleicht jemand das Modul im CMS umgeschrieben? (Ok, ich weiss, man hätte sich's
  vorher überlegen können und die Aliase anders benennen, hinterher ist man immer schlauer.
  Auch sollte ich die Aliase wegen Google nicht mehr ändern, oder?)
Ohne in den Core-Code von CMSms zu verändern sehe ich keine Möglichkeit. Ich würde die Aliase entsprechend ändern und ggf. für die Suchmaschinen entsprechende mod_rewrite Umleitungen zu den neuen URLs bauen. Etwa so:

Code: Select all

RewriteRule ^alter_alias1\.html$ /neuer_alias1.html [L,R=301]
RewriteRule ^alter_alias2\.html$ /neuer_alias2.html [L,R=301]
u.s.w.
Wenn du hierarchische URLs benutzt musst du die Verzeichnisse bei den Aliasen ggf. mit abgeben. Kann bei vielen Seiten aber viel Tipperei werden. Regular Expressions helfen hier leider nicht. Durch R=301 sollten die Suchmaschinen beim erneuten Indizieren dann auch die Adresse in ihre Datenbank updaten.

BTW: Solche Rules immer vor dem CMSms-Rewriting in die .htaccess Datei schreiben und natürlich nach RewriteEngine On.
- kann man die Verzeichnisse bei den News - Seiten im Mod-Rewrite "wegparsen"?
  Es sind immer zwei: /123/123/
Ich bin jetzt beileibe kein mod_rewrite Experte, habe das mal so versucht:

Code: Select all

RewriteRule ^news/[0-9]+/[0-9]+/(.+)$ /news/$1 [L, R]
schreibt zwar die URL in die gewünschte (ohne IDs) um, aber dann findet CMSms nicht die entsprechende News (Error 404), da Infos fehlen. Das muss man wohl im Code des News-Moduls ändern. Ich meine eine Codeänderungsbeispiel mal im englischen Forum gelesen zu haben. Bin mir aber nicht mehr sicher.

In der jetzigen Version (mit den beiden IDs) ist die URL aber immer eindeutig, egal wie man den Titel benennt.

Gruß Hani

PS: Mich stört noch ein bisschen, dass der in die URL eingebettete Titel in Groß und Kleinschreibung erscheint. Unschön ist das, wenn ein  Umlaut am Wortanfang steht. Der wird zwar entsprechend umschrieben (Ä->ae) aber immer in Kleinbuchstaben.
Last edited by hibr on Mon Jan 19, 2009 12:36 am, edited 1 time in total.
Hanis Sammelsurium - How To's, Erfahrungs- und Meinungsberichte
cyberman

Re: Mod Rewrite mit CMS Made Simple

Post by cyberman »

maninweb wrote:   Auch sollte ich die Aliase wegen Google nicht mehr ändern, oder?)
Einfach ändern würde ich es nicht, sondern eine Weiterleitung einrichten.

Um es für eine größere Datenmenge handlich zu machen, kannst du dafür das Modul MovedPages verwenden (Übersetzung im Projekt German/Deutsch).
maninweb

Re: Mod Rewrite mit CMS Made Simple

Post by maninweb »

Hallo zusammen...

vielen Dank für Eure hilfreichen Tipps. Ich werde es mal ausprobieren und dann hier berichten.

Falls es nicht geht, überlege ich, ob ich eine kleine Mappingtabelle in PHP implementiere, welches
mir die Links umwandelt. Bei mir müsste es gehen, da Aliase und Seitennamen eindeutig sind.
Mal schauen.

Gruß
cyberman

Re: Mod Rewrite mit CMS Made Simple

Post by cyberman »

maninweb wrote: eine kleine Mappingtabelle in PHP
http://dev.cmsmadesimple.org/projects/movedpages
maninweb

Re: Mod Rewrite mit CMS Made Simple

Post by maninweb »

Hi cyberman...

Danke für den Hinweis :D

Gruß
maninweb

Re: Mod Rewrite mit CMS Made Simple

Post by maninweb »

Hi zusammen...

ich hab' mal den alten Thread hier herausgeholt. Habe seit nun einiger Zeit das Mod-Rewrite aktiv
und bin soweit auch ganz zufrieden; Google mag' mich jetzt auch ein bißchen mehr :-)

CMSMS verwendet ja bekanntlich die Seitenaliase für die pretty URL; das ist m.E. nicht ganz
optimal, deshalb:

Eine grundsätzliche Anregung hätte ich noch, könnte man in einer Folgeversion des CMS ein
Feld vorsehen, wo der User einen Pseudo-Alias eintragen könnte, der dann für die benutzer-
freundliche URL verwendet werden kann? Die die z.B. Wordpress > 2.x verwenden, werden
das sicherlich kennen, da gibt's für jeden Artikel eine eintragbare (Teil-)URL.

Grüße
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Mod Rewrite mit CMS Made Simple

Post by antibart »

maninweb wrote:
Eine grundsätzliche Anregung hätte ich noch, könnte man in einer Folgeversion des CMS ein
Feld vorsehen, wo der User einen Pseudo-Alias eintragen könnte, der dann für die benutzer-
freundliche URL verwendet werden kann? Die die z.B. Wordpress > 2.x verwenden, werden
das sicherlich kennen, da gibt's für jeden Artikel eine eintragbare (Teil-)URL.
Hm .. vielleicht verstehe ich dich miss ... aber default-mäßig wird ja der Menütext als alias übernommen, nur halt klein geschrieben und ohne Sonderzeichen, was ja schon sehr vernünftig ist. Der Alias ist aber ja nachträglich änderbar, also frei wählbar.

Wenn DU eine Seite erstellt mit dem Menütext "Meine Referenzen", dann heisst der alias zunächst auch "meine-referenzen". Den kannst Du im Reiter Optionen anpassen. zB in "referenzen-firmenname-hamburg" .. oder was auch immer. Und das erscheint auch in der URL.
Last edited by antibart on Tue Aug 04, 2009 9:12 am, edited 1 time in total.
NaN

Re: Mod Rewrite mit CMS Made Simple

Post by NaN »

maninweb wrote: CMSMS verwendet ja bekanntlich die Seitenaliase für die pretty URL; das ist m.E. nicht ganz
optimal
Wieso nicht?
Die sind eindeutig und enthalten keine Sonderzeichen.
Und wie Antibart schon sagte kann man das Alias frei wählen.
Nicht nur nachträglich, sondern auch gleich beim Erstellen der Seite.
Die sind sogar "Pflichtfelder", wenn man in der config.php auto alias auf false setzt.
Bei auto alias wird der Menutext als alias verwendet.
Besser gehts doch kaum, um eine Seite irgendwie zu "kennzeichnen".

Wenn es dazu noch ein extra Feld gibt, dann muss dieses ja auch wieder geprüft werden, ob es schon irgendwo verwendet wurde, weil sonst gibts es dieselbe pretty URL für zwei unterschiedliche Seiten.
Das wäre echt doppelt gemoppelt.
maninweb

Re: Mod Rewrite mit CMS Made Simple

Post by maninweb »

Hi zusammen...

Danke für die Rückmeldungen, also nicht dass ihr mich missversteht, ich wollte jetzt nicht meckern  ;)
Ich versuche mal zu erläutern, wieso ich auf die Idee gekommen bin.

Richtig, der Alias wird beim Anlegen einer Seite Defaultmäßig gesetzt, wie ihr beschrieben habt.
Da aber oft auf meiner Seite derselbe Menütext in Unterseiten vorkommt, ergaben sich damals (CMSMS 1.0)
bei der automatischen Erstellung der Aliase wie "Berichte", "Berichte-2", usw.; somit habe ich damals allen Seiten
erstmal eigene Aliase vergeben (ich muss sagen, damals aber Mod-Rewrite nicht berücksichtigt zu haben).

Später kam der Gedanke auf, die Site auch in anderen Sprachen zu publizieren, was dazu geführt hat, dass
ich Abschnittsüberschriften für DE, EN und FR angelegt habe und in den jeweiligen Unterbäumen diesselbe
Struktur habe. Jedes Alias hat dann einen Präfix für die Sprache, z.B. de_home, en_home und fr_home
erhalten.

Dieses Präfix lässt sich dann übrigens mit Smarty prima auslesen, was ich z.B. in Templates mache und
somit einige von denen einsparen konnte. Wenn man das Mod-Rewrite einschaltet, erhält man nun...

server/de/de_home.html, server/en/en_home.html und server/fr/fr_home.html

Ich finde das mit den Unterverzeichnis im Mod-Rewrite sehr sinnvoll, also /de/, /en/ und /fr/. Würde
mein Alias nun home heißen (was m.E. logisch für den Betrachter wäre), würde das nicht mehr funktionieren,
denn dann hätten jeweils die Home-Seite denselben Alias. Das Beispiel würde auch für andere Seiten bzw.
Unterseiten gelten.

Gruß
Post Reply

Return to “German - Deutsch”