Link-Problem

Eines der wichtigsten Anwendungsgebiete von mod_rewrite ist das umschreiben von dynamischen in statische URLs um "suchmaschinenfreundliche URLs" zu erzeugen. Aber was ist besser fürs Ranking? http://www.url.com/12_2.htm, http://www.url.com/url,12,2.htm oder doch lieber http://www.url.com/12/2/url/ Fragen zum URL-Design werden hier diskutiert.

Moderator: Super-Mod

Link-Problem

Beitragvon febbi9000 » 19.10.2009 23:06

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!
febbi9000
.
.
 
Beiträge: 1
Registriert: 19.10.2009 23:05

Beitragvon Gumbo » 04.11.2009 19:54

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.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier


Zurück zu URL-Design

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron