Seite 1 von 1

Link-Problem

Verfasst: 19.10.2009 23:06
von febbi9000
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!

Verfasst: 04.11.2009 19:54
von Gumbo
Das hat mit mod_rewrite nichts zu tun sondern nur damit wie der Browser relative URLs auflöst. Dies geschieht nämlich auf der Basis der URL des aktuellen Dokuments. Verwende einfach absolute URL-Pfade, sodass diese vom URL-Pfad des aktuellen Dokuments unabhängig sind.