Fehler in der Navigation + mod_rewrite?

falkman

Grünschnabel
Hallo!

Ich beschäftige mich seid etlichen Stunden mit de Thema der URL-Verschönerung mittels mod_rewrite und bekomm es einfach nicht 100% zum laufen. Mein Problem:

http://www.meineseite.de/?page=home

wird wunderbar in

http://www.meineseite.de/home.html

umgeschrieben. Dementsprechend sind auch meine Hyperlinks aufgebaut:

<a href="home.html">Home</a>...

Das eigentliche Problem bei der ganzen Geschichte ist jedoch, dass ich einen Punkt Foto mit den Unterpunkten Portrait, Makro, etc habe. Wenn ich nun meine Hyperlinks wie folgt setze:

<a href="photo/portrait.html">Portrait</a>

ändert sich beim Klick auf den ersten Link der Subnavigation auch die URL entsprechend auf:

http://www.meineseite.de/photo/portrait.html,

was eigentlich

http://www.meineseite.de/?page=photo&sub=portrait

entpricht. Aber, wenn ich anschließend auf einen 2. Unterpunkt klick, beispielsweise Makro mit dem Hyperlink:

<a href="photo/makro.html">Makro</a>

ändert sich die URL in

http://www.meineseite.de/photo/photo/makro.html

und es wird mit ein Fehlercode angezeigt, da ich keine entsprechende Regel in der .htaccess für diesen Fall angegeben hab. Wenn ich auf einen höheren Punkt in der Navigation klick, beispielsweise Kontakt, verschwindet dieses eine photo/ auch nicht, bleibt bestehen und die URL schaut auch wieder wie folgt aus:

http://www.meineseite.de/photo/contact.html,

obwohl der Hyperlink auf:

<a href="contact.html">Kontakt</a>

verweist. Meine mod_rewrite-Regel sieht wie folgt aus:

Options +FollowSymLinks
RewriteEngine ON
RewriteBase /
RewriteRule ^([\w]+)/([\w]+)\.html$ index.php?page=$1&sub=$2
RewriteRule ^([\w]+)\.html$ index.php?page=$1

Hat jemand eine Lösung für das Problem? Ich sitz da schon so lang dran, hab stundenlang gegoogelt und komm einfach nicht weiter...
Danke!

 
Hallo,

versuch' mal so
HTML:
<a href="/contact.html">Kontakt</a>
Der Slash vor dem contact.html bewirkt, dass die Datei vom Stammverzeichnis aus gesucht wird. Ohne den Slash wird im aktuellen Verzeichnis gesucht und wenn Du vorher per photo/portrait.html in's Verzeichnis photo gewechselt bist, dann ist es ja logisch das dies weiterhin in der URL angezeigt wird.
 
Hallo! Danke für die schnellen Antworten! Ich habe beide Varianten versucht. Mit "./" hat es nicht richtig funktioniert, da gab es wieder Probleme, dafür klappt es aber mit "/" einwandfrei :).
 

Neue Beiträge

Zurück