mod rewrite (url rewriting) und dynamische Links in php-Dateien

Merbman

Cadet 2nd Year
Registriert
Jan. 2008
Beiträge
21
Hallo,
zum Thema mod rewrite stellt sich mir folgendes Problem.

Die Links in meiner php-Datei werden dynamisch erzeugt (aus Datenbank) und sehen folgender Maßen aus:

---
<a href='index.php?m1=2&m2=12'>Link1</a>
---

m1 und m2 sind Variablen anhand derer ich meine Datenbankabfrage generiere.
Aus oben genanntem Link möchte ich gern eine Suchmaschinenfreundliche URL erzeugen.

Beispielsweise:
domain.de/schoener_name.html
oder
domain.de/schoener/name/

Mittels .htaccess-Datei kann ich ja relativ einfach folgende Zeile schreiben:

---
RewriteRule schoener_name.html$ index.php?m1=2&m2=12 [L]
---

Jetzt stellen sich mir folgende Fragen.

1. Muss ich jeden dynamisch erzeugten Link (index.php?m1=2&m2=12) in meiner php-Datei von Hand umschreiben (schoener_name.html) oder gibt es andere Lösungen?
2. Da die Links dynamisch erzeugt werden, kann ich ja nicht alle möglichen Links von Hand in die .htaccess-Datei schreiben. Wie automatisiere ich den Prozess?
3. Gibt es die Möglichkeit den Seitentitel (<title>Seitentitel</titel>) auch als Namen für meine Seite (seitentitel.html) zu generieren?


Vielen Dank für eure Antworten!
 
Merbman schrieb:
1. Muss ich jeden dynamisch erzeugten Link (index.php?m1=2&m2=12) in meiner php-Datei von Hand umschreiben (schoener_name.html) oder gibt es andere Lösungen?

Ja, du muss jeden Link ändern.



Merbman schrieb:
2. Da die Links dynamisch erzeugt werden, kann ich ja nicht alle möglichen Links von Hand in die .htaccess-Datei schreiben. Wie automatisiere ich den Prozess?

Man rewritet nicht index.php?a=1&b=2&c=3 zu /blablaartikel.html sondern z.B: index.php?artikel=blablaartikel zu /artikel/blablaartikel.html

Dann kannst du auch dynamische rewrite regeln erstellen:

Code:
RewriteRule ^artikel/(\S+)\.html$ index.php?artikel=$1 [L]




Merbman schrieb:
3. Gibt es die Möglichkeit den Seitentitel (<title>Seitentitel</titel>) auch als Namen für meine Seite (seitentitel.html) zu generieren?

Ja, wenn du deinen PHP Code entsprechend anpasst.
 
ich bedanke mich,
werde es probieren.
lg
 
Zurück
Oben