• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Navigationshierarchie auslesen und für mod_rewrite nutzen

Hallo,

ausgehend von einem solchen Fall:
HTML:
<ul>
  <li><a href="punkt1.php">Punkt1</a></li>
  <li><a href="punk2.php">Punkt2</a></li>
  <li><a href="punkt3.php">Punkt3</a>
  <ul><li><a href="unterpunkt1.php">Unterpunkt1</a></li></ul>
  </li>
</ul>
Gibt es da eine Möglichkeit, dass Links mit Hilfe von mod_rewrite o.Ä. dann automatisiert so aussehen?
http://beispiel.com/punkt3/unterpunkt1
Also dass quasi die Hierarchie der Navigation abgebildet wird?

Mit diesem Schnipsel habe ich bis jetzt die .php Endungen entfernt:
Code:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f

RewriteRule ^(.*)$ $1.php

Vielen Dank schonmal im Voraus!

Edit: Und haltet ihr das überhaupt für sinnvoll, die Hierarchie der Navigation auch in der URL abzubilden? Oder wäre http://beispiel.com/unterpunkt1 genauso gut?
 
Werbung:
mod_rewrite stellt lediglich die Möglichkeit des Aufrufs so aufgebauter URLs zur Verfügung. Im HTML-Code musst Du dir Links schon selbst eingeben - das kann dir mod_rewrite nicht abnehmen, da es nicht dafür gedacht ist.
 
Okay, also müsste ich in der .htaccess dann manuell regeln, dass bei dem Aufruf einer Unterseite ein Ordner simuliert wird? Also beim Aufruf von unterpunkt1.php da ein "/punkt3/" vorgehängt wird?

Und dann noch zu meinem Edit. Hat es irgendwelche Vorteile, dass die Hierarchie in der URL mit abgebildet wird? Aus SEO Sicht o.Ä.?

Edit: Werde die Hierarchie abbilden, scheint aus SEO Gründen ganz okay zu sein.
 
Zuletzt bearbeitet:
Werbung:
Nein, du hast es nicht verstanden.

Der Eintrag in der .htaccess-Datei bestimmt lediglich, dass beim Aufruf von /punkt3/ die Datei unterpunkt3.php aufgerufen wird. Damit /punkt3/ aufgerufen wird, musst Du diese URL in die Links deiner HTML-Dateien selbst einbauen.

Aus SEO-Sicht ist es primär wichtig, dass in der URL Stichwörter vorkommen die dann auch in der Seite selbst vorkommen und die das Hauptthema des jeweils aufgerufenen HTML-Dokumentes möglichst genau wiedergeben. Ob Du diese Stichwörter in einer Hierarchie mit 2, 3 oder mehr "Ordner" simulierst ist dir überlassen.
 
Der Eintrag in der .htaccess-Datei bestimmt lediglich, dass beim Aufruf von /punkt3/ die Datei unterpunkt3.php aufgerufen wird. Damit /punkt3/ aufgerufen wird, musst Du diese URL in die Links deiner HTML-Dateien selbst einbauen.
Doch, das habe ich schon verstanden, kam vielleicht nicht ganz rüber ;)
Auf jeden Fall danke für die Hilfe :)
 
Ich nochmal ... :oops:

Ich steige durch die Anwendung der mod_rewrite Regeln einfach nicht durch ...
Wenn ich folgende Links habe:
HTML:
    <li><a href="/basis/ebene1/ebene2/1">Moderne Fotografie</a></li>
     <li><a href="/basis/ebene1/ebene2/2">Arztpraxis klassisch</a></li>
     <li><a href="/basis/ebene1/ebene2/3">Stilvolle Zahnarztpraxis</a></li>
     <li><a href="/basis/ebene1/ebene2/4">Darstellung Tierarztpraxis</a></li>
     <li><a href="/basis/ebene1/ebene2/5">MHH Langzeitstudie</a></li>
     <li><a href="/basis/ebene1/ebene2/6">Zahnarztpraxis Aufnahmen</a></li>
Wie bekomme ich es dann hin, dass beim Aufruf die Dateien geladen werden (1.php, 2.php usw.), die alle im Verzeichnis /basis/ liegen? Also dass er sich die Dateien in dem Verzeichnis "/basis/" sucht? Die URL soll dennoch so bleiben, also keine Umleitung ...
Vielen Dank schonmal!

P.s. Kennt jemand ein gutes Einsteiger-Tutorial für mod_rewrite?
 
Werbung:
Zurück
Oben