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

RewriteRule überschreiben - nur wie?

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
canetti
PostRank 3
PostRank 3
Beiträge: 72
Registriert: 19.01.2005, 15:34

Beitrag von canetti » 16.10.2006, 10:13

Hallo alle zusammen,

ich habe einige Fragen zu den RewriteRules. Ich möchte mal mit einer (hoffentlich) leichten Frage anfagen:
Also ich möchte ALLE Anfragen, die auf das Verzeichnis /webkatalog/ gehen auf die seite /webkatalog/kat.php?id=$1 leiten.
Nicht jedoch Anfragen, die direkt auf die index.htm gehen.

Das ist meine htaccess:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /webkatalog/
RewriteRule ^([a-zA-Z0-9]+).htm$ /webkatalog/kat.php?id=$1
RewriteRule ^index.htm$ index.htm?id=$1

Die erste RewriteRule funktioniert! Und ich dachte, dass ich mit der zweiten Rule die erste Rule überschreiben würde - so, das halt alle Anfragen, die auf die index.htm gehen nicht von der ersten Rule erfasst werden. Das ist jedoch leider falsch!

Auch die Anfragen, die direkt auf die index.htm gehen werden von der ersten Rule erfasst ;-(

Habe auch schon etwas über die RewriteCond gelesen. Nur leider habe ich da auch keine Lösung gefunden.

Kann mir also jemand helfen - wie muss die Rule richtig lauten?

Gruß an alle
canetti

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

haha
PostRank 9
PostRank 9
Beiträge: 1065
Registriert: 03.04.2006, 18:08
Wohnort: Bi Hamborg

Beitrag von haha » 16.10.2006, 10:22

canetti hat geschrieben:Also ich möchte ALLE Anfragen, die auf das Verzeichnis /webkatalog/ gehen auf die seite /webkatalog/kat.php?id=$1 leiten.
Nicht jedoch Anfragen, die direkt auf die index.htm gehen.

RewriteRule ^([a-zA-Z0-9]+).htm$ /webkatalog/kat.php?id=$1
RewriteRule ^index.htm$ index.htm?id=$1

Die erste RewriteRule funktioniert! Und ich dachte, dass ich mit der zweiten Rule die erste Rule überschreiben würde
Nein, andersrum: Die erste passende Regel wird ausgeführt. Schreib die zweite vor der ersten Zeile, dann funktioniert es so, wie Du es Dir vorstellst. Voraussetzung ist allerdings, Du ruftst tatsächlich (und unnötigerweise) index.htm auf. Füge besser noch eine weitere Zeile für das Muster ^$ hinzu, um neben /webkatalog/index.htm auch den Aufruf des Verzeichnisses selbst, also /webkatalog/, abzufangen.

Das Anfügen von ?id=$1 in der zweiten Regel ist übrigens überflüssig, solange Du im Muster nichts mit runden Klammern aufgreifst, lässt sich mit $n auch nichts einfügen.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag