|
| Autor |
Nachricht |
kilian Erfahrener [User]

Anmeldung: 09.04.04 Beiträge: 76
|
Verfasst am: 01.05.2004, 13:42 Titel: Tutorials zu Mod Rewrite |
|
|
Hallo,
ich such nen tutorial, mit dem man etwas lernt, wie man mit .htaccess die domains parsen kann etc...
zum beispiel: wie gebe ich die datei.php beim aufruf von datei.xml aus?
Gruss:
Kilian
|
|
| Nach oben |
|
 |
David Reisner Power-Poster [Admin]


Anmeldung: 08.04.04 Beiträge: 727 Wohnort: Peggau/Öst ...
|
|
| Nach oben |
|
 |
Fruetel Erfahrener [User]


Anmeldung: 09.04.04 Beiträge: 63
|
Verfasst am: 01.05.2004, 15:11 Titel: Re: Tutorials zu mod-rewrite? |
|
|
| kilian hat folgendes geschrieben: | | zum beispiel: wie gebe ich die datei.php beim aufruf von datei.xml aus? |
Das ist ja wirklich ein einfaches Beispiel, da solltest Du weiterkommen mit
| Code: |
RewriteRule ^datei.xml$ datei.php
|
Eine Rewrite Rule sieht wie folgt aus: Zunächst kommt das, was man umschreiben möchte (datei.xml), dann ein Leerzeichen, und dann das, was vom Server geholt werden soll (datei.php). Dabei kommen reguläre Ausdrücke zum Einsatz, wie die Funktionieren wäre eine abendfüllende Geschichte. '^' bedeutet soviel wie 'hier ist der Anfang, es steht nichts davor, '$' markiert das Ende der Anfrage.
Willst Du zum Beispiel alle .xml-Dateien als gleichnamige .php Dateien haben, sollte die Regel etwa so aussehen:
| Code: |
RewriteRule ^(.*).xml $1.php
|
Das (.*) steht dort für eine beliebige Anzahl von Zeichen, die vor dem .xml kommt (Variable). $1 setzt die erste vorkommende Variable (in diesem Beispiel also alles, was vor .xml steht) wieder ein.
Du kannst Variablen auch als Parameter nutzen:
| Code: |
RewriteRule ^search-(.*)-(.*).html search.php?keyword=$1&order=$2
|
würde zum Beispiel die Anfrage search-webmaster-asc.html umschreiben in search.php?keyword=webmaster&order=asc
Ich hoffe, das konnte etwas Licht in das mystische mod_rewrite-Dunkel bringen. Wer kompliziertere Konstrukte bauen will, kommt um ein bischen Experimentieren und Beschäftigung mit regulären Ausdrücken nicht herum.
Gruss,
Thomas _________________
Webmaster Homepage
|
|
| Nach oben |
|
 |
RobZe89 Helfer [User]

Anmeldung: 09.04.04 Beiträge: 212 Wohnort: Schweiz
|
Verfasst am: 01.05.2004, 15:58 Titel: Re: Tutorials zu mod-rewrite? |
|
|
| Fruetel hat folgendes geschrieben: |
| Code: |
RewriteRule ^search-(.*)-(.*).html search.php?keyword=$1&order=$2
|
|
fehlt hier nicht ein $?
wär doch
| Code: |
RewriteRule ^search-(.*)-(.*).html$ search.php?keyword=$1&order=$2
|
_________________ Wir erstellen Ihre Traum Homepage
Ideal für kleine Firmen und Einzelunternehmer
Zuletzt bearbeitet von RobZe89 am 01.05.2004, 16:24, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
Fruetel Erfahrener [User]


Anmeldung: 09.04.04 Beiträge: 63
|
Verfasst am: 01.05.2004, 16:21 Titel: |
|
|
Das '$' steht hier nur für Zeilenende, nicht zu verwechseln mit den Variablen $1, $2, etc.
Meine erste Version würde z.B. auch search-keyword-asc.html1 umschreiben (da nicht ausdrücklich per '$' festgelegt wurde, dass die Anfrage mit .html endet), hängt man den $ ans html an muss die Anfrage mit .html enden, search-keyword-asc.html1 würde einen Fehler produzieren.
Gruss,
Thomas _________________
Webmaster Homepage
|
|
| Nach oben |
|
 |
Andreas Schroth Bekannter [Admin]


Anmeldung: 08.04.04 Beiträge: 1667 Wohnort: Lauf a. d. ...
|
Verfasst am: 01.05.2004, 17:28 Titel: |
|
|
ja, in den Postings von fruetel ist eigentlich schon alles wesentliche gesagt. 
|
|
| Nach oben |
|
 |
kilian Erfahrener [User]

Anmeldung: 09.04.04 Beiträge: 76
|
Verfasst am: 02.05.2004, 07:40 Titel: |
|
|
Hallo,
also regexs kann ich ja eigentlich
hatte es mit dem mod rewrite mal so probiert, aber es hat nicht funktioniert...
da war noch
RewritEngine on
RewriteBase = /news/
RewriteRule ^news_rss.xml$ news_rss.php
und das hat nur den webspace blockiert statt was zu machen...
gab imma 500 - internal server error
Gruss:
Kilian
|
|
| Nach oben |
|
 |
Fruetel Erfahrener [User]


Anmeldung: 09.04.04 Beiträge: 63
|
Verfasst am: 02.05.2004, 08:04 Titel: |
|
|
Moin Kilian,
RewritEngine on gehört in die erste Zeile, das hatte ich vorausgesetzt. RewriteBase darfst Du meines Wissens nur bei Alias-Verzeichnissen einsetzen. Lass vielleicht mal die RewriteBase Anweisung weg, und pack die .htaccess-Datei mit den Rewrite-Anweisungen direkt ins /news Verzeichnis. Wie ist denn der Webspace konfiguriert? Bei safe_mode=on funktioniert mod_rewrite z.B. gar nicht.
Gruss,
Thomas _________________
Webmaster Homepage
|
|
| Nach oben |
|
 |
Lightstorm User [User]

Anmeldung: 30.10.04 Beiträge: 15
|
Verfasst am: 30.10.2004, 23:44 Titel: |
|
|
Moin,
ich hab' die ganz einfache Variante (RewriteRule ^datei.xml$ datei.php) mal versucht und bin daran gescheitert. Ich hatte z.B. ein Banner auf meiner Site, welches ein jpg war. Nun ist das Banner mit demselben Dateinamen jedoch ein gif-File. Ergo sollte es doch reichen, in der .htaccess durch | Code: | | RewriteRule ^banner.jpg$ banner.gif | sicherzustellen, dass alle, die bisher das jpg verlinkt haben automatisch das gif zu tage bringen, oder? Wenn ich jedoch direkt versuche http://www.meinedomain.de/meinebilder/banner.jpg aufzurufen, erhalte ich nur meine 404 Servermeldung und nicht wie gedacht das durch banner.gif ersetzte banner.jpg. Any idea?
|
|
| Nach oben |
|
 |
JörgK Beliebter [Mod]

Anmeldung: 09.04.04 Beiträge: 376
|
Verfasst am: 31.10.2004, 00:16 Titel: |
|
|
Hast du eine Rewrite Base angegeben:
| Code: | | RewriteBase = /meinebilder |
ansonsten den ersten Punkt escapen:
| Code: | | RewriteRule ^banner\.jpg$ banner.gif |
_________________
Webnotizen - Forum für XHTML, CSS und SEO - Bookmarks
|
|
| Nach oben |
|
 |
Lightstorm User [User]

Anmeldung: 30.10.04 Beiträge: 15
|
Verfasst am: 31.10.2004, 00:28 Titel: |
|
|
hm... das klappt leider beides nicht. RewriteBase hatte ich nicht angegeben. Wenn ich das tu (mit relativem Pfad?) gibt es generell für alles nur noch einen 500 Serverfehler. Escapen - was auch immer das bedeutet, stellt leider nur mein hotlink-image dar. Kommen dabei evtl. folgende Regeln in die Quere?
| Code: | RewriteCond %{REQUEST_URI} !^/images/banner\.(gif|jpg)$ [NC]
RewriteRule \.(avi|gif|jpe?g|zip|swf|css)$ http://www.meinedomain.de/hotlink.png |
das erste gibt, egal durch wen und von wo angefragt das banner.jpg / banner.gif frei. das zweite schmeißt allem, was nicht von erlaubten domains die angegebenen dateien ziehen will das hotlink.png entgegen...
|
|
| Nach oben |
|
 |
JörgK Beliebter [Mod]

Anmeldung: 09.04.04 Beiträge: 376
|
|
| Nach oben |
|
 |
Lightstorm User [User]

Anmeldung: 30.10.04 Beiträge: 15
|
Verfasst am: 31.10.2004, 01:09 Titel: |
|
|
Das Verzeichnis ist auf jeden Fall "images". Von "RewriteBase" lass ich besser ganz die Finger. Sobald das drinsteckt, gibt es wirklich nur 500 Serverfehler. Lass ich die Regel für den Hotlink raus, lande ich bei Abfrage des banner.jpg nicht bei banner.gif sondern auf der 404 Errorpage... hm... 
|
|
| Nach oben |
|
 |
JörgK Beliebter [Mod]

Anmeldung: 09.04.04 Beiträge: 376
|
Verfasst am: 31.10.2004, 01:13 Titel: |
|
|
| Lightstorm hat folgendes geschrieben: | | lande ich bei Abfrage des banner.jpg nicht bei banner.gif sondern auf der 404 Errorpage... |
und was steht in der Adresszeile vom Browser? _________________
Webnotizen - Forum für XHTML, CSS und SEO - Bookmarks
|
|
| Nach oben |
|
 |
Lightstorm User [User]

Anmeldung: 30.10.04 Beiträge: 15
|
Verfasst am: 31.10.2004, 01:14 Titel: |
|
|
...lediglich der url der errorpage, die geladen wird.
|
|
| Nach oben |
|
 |
|
|