Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

An die mod-rewrite Profis...

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
lloy
PostRank 7
PostRank 7
Beiträge: 638
Registriert: 23.08.2005, 17:19

Beitrag von lloy » 21.03.2006, 09:59

Hallo,

Evtl. kann ja jemand helfen. Ich habe folgende mod-rewrite Regel in meiner .htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteRule ^([^/]+)$ index.php?feld1=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteRule ^([^/]+)/(.*)$ index.php?feld1=$1&feld2=$2 [L]
Dabei wird eine URL nach dem dem Schema

www.domain.de/sektion/kategorie.html

auf die index.php umgeleitet, wobei sich "sektion" dann in $feld1 und "kategorie.html" in $feld2 befinden.
Das klappt auch alles wunderbar bis auf einen kleinen Fehler.

Auch bei der Eingabe von:

www.domain.de///sektion/////kategorie.html

steht "sektion" wieder in $feld1 und "kategorie.html" in $feld2, d.h.
ich kann beliebig viele "/" Slashes in die URL schreiben und bekomme das selbe Ergebnis wie bei einer korrekt geschriebenen URL.

Ich würde die mod-rewrite Regel nun gerne so ändern, dass der Inhalt von $feld1 und $feld2 sich genau an dem orientiert was nach dem ersten Slash der Domain und dem ersten Slash nach Sektion in der URL kommt. Das heisst beim zweiten Beispiel müsste der Inhalt von $feld1 "//sektion" und von $feld2 dann "////kategorie.html" lauten.

Ich hoffe das war verständlich und jemand weiss Rat!