Teufelchen: mod_rewrite

Beitrag lesen

index.php?ind=downloads&op=section_view&idev=1

Die soll nach ^downloads/section_view/1/index.html$ gelenkt werden.
Wie kann ich die Variable idev auslesen und verwenden?

Parameter, idev ist ein Parameter. Die URL-Parameter kannst du mittels RewriteCond zerlegen, dort gibt es eine Variable (keinen Parameter) namens QUERY_STRING:

RewriteCond %{QUERY_STRING} (?:^|[&;])idev=([0-9]+)(?:[&;]|$)

Die beiden Konstruke (?:^|[&;]) und (?:[&;]|$) sorgen dafür, dass vor und nach dem Parameter ein Parameter-Trennzeichen (& oder ;) kommt oder (|) sich dort der Anfang (^) bzw. das Ende ($) der gesamten Parameterkette befindet.
?: am Anfang der Klammer bewirkt, dass der Klammerinhalt nicht gespeichert wird, anders als bei ([0-9]+) in der Mitte, diesen Teil kannst du später woanders wieder einfügen (siehe unten).

In der PHP-Anleitung findet sich eine, wie ich meine, gute Anleitung zur PCRE-Bibliothek, die auch mod_rewrite benutzt.

In der auf RewriteCond folgenden RewriteRule-Zeile kannst du die mittels der runden Klammern aufgegriffenen Teile über %n einfügen, in diesem Beispiel:

RewriteRule [dein muster] downloads/section_view/%1/

RewriteRule ^downloads/index.html$ index.php?ind=downloads
Wie stell ich es an dass die index.html optional ist?

RewriteRule ^downloads(/index.html)?$ index.php?ind=downloads

Befasse dich unbedingt mit oben genannter PCRE-Anleitung. Über solche Muster wirst du immer wieder stolpern, und die Wiederholung (?: 0- oder 1-mal, +: mindestens einmal, *: beliebig oft, einschließlich überhaupt nicht, [n,m]: zwischen n und m Wiederholungen) gehört zu den grundlegendsten Grundlagen.