Mod Rewrite Anfängerproblem?

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Mod Rewrite Anfängerproblem?

Beitragvon smoser » 14.08.2009 12:32

Hallo zusammen.
Ich bin absoluter Anfänger in Sachen mod rewrite.
Ich weiß zwar, dass diese Komponente auf dem Server aktiviert / installiert sein muss. Ich weiß, dass die Rewrite Rules in die .htaccess-Datei kommen.
Aber, kann mir jemand helfen bzw. mich zu einer Lösung führen.

Und zwar:
Ich arbeite mit meinem selbst entwickelten CMS, ich spreche die einzelnen Seiten mittels $_GET[""]-Variablen an. Die Home > Willkommen - Seite folgende URI: http://www.domain.at/index.php?module=c ... mid=1&id=1

Diese URI sieht echt b**** aus. Nun möchte ich das da steht http://www.domain.at/home/willkommen/.

Zuerst habe ich mir gedacht, ich mache es so, dass ich einen "htaccess Generator" programmiere, wo mir meine htaccess Datei generiert mit den dementsprechenden Links, zB so:
RewriteEngine On
http://www.domain.at/index.php?module=c ... mid=1&id=1 http://www.domain.at/home/willkommen/
http://www.domain.at/index.php?module=news&mid=1 http://www.domain.at/home/aktuelles/
http://www.domain.at/index.php?module=news&mid=1&id=2 http://www.domain.at/home/aktuelles/newsbeitragstitel2/
... usw. ...

Nun wie würde die Syntax lauten.
1) Meine Scripts sollen noch funktionieren, ohne die $_GET[""]-Variablen >> (?module=contents&mid=1&id=1, etc.)
2) Wie erzeuge ich die "schönen lesbaren" URIs?

Besten Dank.

Grüße Sebastian
smoser
.
.
 
Beiträge: 4
Registriert: 14.08.2009 10:26

Beitragvon Gumbo » 14.08.2009 13:42

Ich würd’s wie folgt machen: Strukturiere die Inhalte gleich hierarchisch in der Datenbank zusammen mit den URL-Pfaden/-Pfadsegmenten. Auf Basis dieser Struktur kannst du dann die angefragte URL („$_SERVER['REQUEST_URI']“) direkt ausliefern und musst sie nicht erst umformen.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon smoser » 14.08.2009 13:47

Gumbo hat geschrieben:Ich würd’s wie folgt machen: Strukturiere die Inhalte gleich hierarchisch in der Datenbank zusammen mit den URL-Pfaden/-Pfadsegmenten. Auf Basis dieser Struktur kannst du dann die angefragte URL („$_SERVER['REQUEST_URI']“) direkt ausliefern und musst sie nicht erst umformen.


Die liegen hierarchisch vor max. 3 Levels.

+ home
+ aktuelles
- newsbeitrag 1
- newsbeitrag 2

nur wie lauten die Rewrite Rules?

Hier mein Versuch:
Code: Alles auswählen
RewriteEngine on
RewriteRule /home/willkommen/ /index.php?module=contents&mid=1&id=1


Wenn ich die Seite /home/willkommen/ ansurfe, greift mein ErrorDocument 404 http://www.domain.at/error.php.
smoser
.
.
 
Beiträge: 4
Registriert: 14.08.2009 10:26

Beitragvon Gumbo » 14.08.2009 14:14

Ich würde die Anfrage mit PHP verarbeiten und die Pfadsegmente nacheinander auflösen. Für jeden URL-Pfad eine eigene Regel aufzustellen, ist zu unflexibel.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon smoser » 14.08.2009 15:05

Wie schon gesagt ich bin Anfänger, hast du ein Beispiel?
smoser
.
.
 
Beiträge: 4
Registriert: 14.08.2009 10:26

Beitragvon Gumbo » 14.08.2009 15:55

Angenommen du speicherst zu jedem Inhalt den dazugehörigen URL-Pfad. Dann kannst du die Inhalte direkt anhand des angefragten URL-Pfads aus der Datenbank holen. Das wäre zumindest die einfachste Methode.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon smoser » 15.08.2009 06:22

Und dann direkt über header() die Weiterleitung ausführen, also kein mod rewrite?
smoser
.
.
 
Beiträge: 4
Registriert: 14.08.2009 10:26

Beitragvon Gumbo » 15.08.2009 08:40

Nein, das ist nicht notwendig.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron