URL umbiegen: Dateinamen zu Parameter machen

Antworten
Nachricht
Autor
TomoT

URL umbiegen: Dateinamen zu Parameter machen

#1 Beitrag von TomoT » 04. Mär 2009 13:37

Hallo,

ich habe momentan für einen Dienst eine Adresse im Stil

http://www.domain.tld/index.php?id=XXXXXX

wobei XXXXXX eine eindeutige Buchstabenkombination ist. Das würde ich jetzt gerne ändern und zwar so, dass der URL dann

http://www.domain.tld/XXXXXX

lautet. D.h. der Apache muss zuerst überprüfen, ob es eine Datei XXXXXX gibt und wenn nicht, dieses XXXXXX dem Parameter "id" übergeben und damit die index.php aufrufen. Wird statt dessen der URL

http://www.domain.tld/data.php

aufgerufen, soll natürlich die datei data.php ausgeführt werden und nicht "data.php" als Parameter an index.php übergeben werden. Wie lässt sich sowas realisieren?

Benutzeravatar
Janka
Beiträge: 3581
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 04. Mär 2009 15:30

Mit mod_rewrite. Dabei zunächst nach allen "speziellen" Dateinamen (data.php z.B.) in REQUEST_URI filtern und dann für den Rest eine Catch-All-Regel basteln.

Sowas in der Art

Code: Alles auswählen

RewriteCond %{REQUEST_URI} !^/data.php
RewriteCond %{REQUEST_URI} !^/data2.php
RewriteRule /(.*) /index.php?id=$1
Hier die Anleitung:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Antworten