Moin!
RewriteEngine on
RewriteCond %{REQUEST_URI} (.*)/(.*)/(.*)/(.*)/(.*)/default.html$
RewriteRule (.*)/(.*)/(.*)/(.*)/(.*)/default.html$ /vdir/index.php?nav=$1&ud=$2&uud=$3&limit=$4&job_id=$5Nun kann es aber sein, dass nur die ersten beiden $ übergeben werden.
Ruft man also die URL /test/test2/default.html auf, gibt der Server richtiger Weise einen 404-Fehler aus. /test/test2/0/0/0/default.html wäre hier wohl besser gewesen.
Warum so kompliziert? Du willst im Prinzip, dass dein gesamter URL-Baum, der sich aus einem oder mehreren Verzeichnissen zusammensetzt und auf "default.html" endet, auf ein einziges Skript gemappt wird.
Dann mach das doch auch einfach:
RewriteRule default.html$ /vdir/index.php
In deiner PHP-Datei kannst du dann beispielsweise $_SERVER['REQUEST_URI'] abfragen und die angeforderte URL ganz nach Belieben auseinandernehmen.
Es ist vielleicht nicht verkehrt, in einer oder mehrerer RequestCond-Zeilen noch zu prüfen, ob eines dieser virtuellen Verzeichnisse angefordert wurde. Insbesondere sollte vielleicht geprüft werden, dass "/vdir/" gerade _nicht_ angefordert wurde. Das Überlappen von virtuellen und realen URLs wäre sonst vielleicht etwas ungünstig.
- Sven Rautenberg
ss:) zu:) ls:[ fo:} de:] va:) ch:] sh:) n4:# rl:| br:< js:| ie:( fl:( mo:|