# mod_rewrite bei Dynamischen Inhalt wie z.B. hier im Forum?



## Counti (5. Januar 2008)

Hallo,

ich würde gerne MOD_Rewrite für eine Seite mit dynamischen Inhalt nutzen. Konkret geht es um Artikel deren Überschriften ich gerne in der URL hätte. Im Prinzip ist es aber das gleiche wie hier im Forum, wo die Thread Titel in der URL stehen. 
Wie realisiert man das? Muss man immer wenn man ein neues Topic oder einen neuen Artikel anlegt, die .htaccess Datei öffnen und bearbeiten oder wie wird das realisiert? 

Wenn man IDs nutzt ist das ja einfach ja einfach, aus index.php?cat=übersicht wird /übersicht. Theoretisch müsste man ja die Überschrift auch per GET weitergeben, oder?

Vielen Dank und viele Grüße

Counti


----------



## Gumbo (5. Januar 2008)

Das „mod_rewrite“-Modul kann nur die URLs der Anfragen an den Webserver verarbeiten. Diese URLs erzeugen und auf der anderen Seite die richtigen Inhalte ausliefern, muss ein serverseitiges Skript machen.


----------



## maeTimmae (5. Januar 2008)

In irgendeiner Art und Weise muss ein Get-Parameter übergeben werden, das hast du bereits richtig erkannt. Für den gröbsten Fall und um es zu veranschaulichen, nehmen wir eine numerische ID an, die wir in einer URL folgendermaßen verpacken wollen:

```
/content/123.html
```
Jedoch sieht sie in Wirklichkeit so aus:

```
/index.php?module=content&id=123
```
Eine mögliche Rewrite Regel sähe dann so aus:

```
RewriteRule ^([^/]+)/([0-9]+).html$     index.php?%{QUERY_STRING}&module=$1&id=$2 [L]
```
Was tut dieser reguläre Ausdruck? Das erste Bisschen nimmt er als Modul, eine Ganzzahl danach, abgerundet durch das ".html" ist dann die ID.

Durch den SEO-Hype hat es sich, wie hier auch zu sehen, eingebürgert, Stringidentifier anzulegen, in wiefern die jedoch zur Auswertung beitragen, ist dir überlassen.

```
/content/123,dies-ist-der-titel.html
```
lässt offen, ob numerische ID oder String-ID oder beides ausgewertet wird,

```
/content/dies-ist-der-titel.html
```
Benötigt zwangsweise einen Stringidentifier. Dieser muss dann an Stelle oder alternativ zu einer numerischen ID in der Datenbank stehen.

Mod Rewrite stellt es dir übrigens frei, ob du sehr freizügige Ausdrücke aufstellst oder alles hart einbindest. Hauptsache ist, dass am Ende beim Script auch das ankommt, was relevant ist, denn ob nun eine Integerzahl oder ein String ist letztendlich egal von Anwendersicht aus, denn es sind nur standardisierte Bezeichnungen für irgendetwas.


----------

