Rolfi: mod_rewrite

Beitrag lesen

Ola alle miteinander!
Ich habe zwei Probleme die ich euch erläutern möchte. Ich hoffe ihr findet meine Fehler, die ich nicht sehe. Fangen wir an, das ist mein aktuelles Gerüst:

RewriteCond %{REQUEST_URI} !-f  
RewriteCond %{HTTP_HOST} ^domainname\.(.*) [NC]  
RewriteRule ^$ index.php?d=%1&k=index [QSA]  
  
RewriteCond %{REQUEST_URI} !-f  
RewriteCond %{HTTP_HOST} ^domainname\.(.*) [NC]  
RewriteRule ^([-\w]+)\.html$ index.php?d=%1&k=$1 [QSA]

In der Selfhtml Dokumentation habe ich gelesen, dass sich %1 auf die >letzte< RewriteCond bezieht. Baue ich mir allerdings soetwas zusammen:

  
RewriteCond %{REQUEST_URI} !-f  
RewriteCond %{HTTP_HOST} ^domainname\.(.*) [NC]  
RewriteRule ^([-\w]+)\.html$ index.php?d=%1&k=$1 [QSA]  
RewriteRule ^$ index.php?d=%1&k=index [QSA]

Funktioniert die zweite RewriteRule nicht mehr (Unabhängig davon in welcher Reihenfolge ich die RewriteRule setze). Wieso, was ist plötzlich falsch? Da sich %1 laut der Dokumentation auf die RewriteCond bezieht, müsste das doch eigentlich problemlos funktionieren?? Naja, da das anscheinend für mich nicht gilt, musste ich es in zwei Blöcke aufteilen...

Nächstes Problem!
-f prüft doch, ob die Datei existiert oder nicht. Ein Ausrufezeichen davor bedeutet, "wenn die Datei nicht existiert" mache das und jenes. Ich wollte aber gerade meine Seite bei google manuell indizieren lassen, dabei muss man eine html file auf seinen webspace schieben. Gefordert getan, nur aufrufen kann ichs nicht (etwa: http://domainname.de/google-ka8zefsh8ef.html). Der geht mir nämlich trotzdem in die index.php und gibt mir, weil er dann den Datensatz in der Datenbank nicht zuordnen kann, ein liebes 404 Not Found aus, das ich selbst erstellt habe. Die Datei liegt wie die index.php im gleichen Verzeichnis. Aber laut !-f darf die Datei ja nicht existieren, damit er rein geht?
Hoste bei Strato.

Für eine Hilfe die meine Verwirrung aufdeckt, bin ich zutiefst verbunden!

Mfg,
Rolfi