Hallo Andreas,
Vielleicht solltest Du mal über eine Rewrite_Cond nachdenken, also nur bei einer bestimmten Bedingung umschreiben?
Jepp, das ist eine sehr gute Idee. (ich dachte RewriteCond bräuchte man nur für so was wie UserAgent - denkste ;))
Ich stelle mir das in etwa so vor:
RewriteCond %{REQUEST_URI} ^/images/.* [OR]
RewriteCond %{REQUEST_URI} ^/styles/.* [OR]
RewriteCond %{REQUEST_URI} ^/index.php.*
RewriteRule ^(.*)$ script.php?url=$1 [L]So ist das nur leider genau falsch rum ;-) Man müßte die Bedingung negieren, also wenn _nicht_ /images/... aber wie das geht weiß ich nicht. Aber vielleicht hilft es Dir.
Das hilft mir jetzt sehr, laut Anleitung müsste
RewriteCond %{REQUEST_URI} !^/images/.*
RewriteCond %{REQUEST_URI} !^/styles/.*
RewriteCond %{REQUEST_URI} !^/index.php.*
RewriteRule ^(.*)$ script.php?url=$1 [L]
funktionieren. Kann es im Moment leider nicht testen, ich wollte eine Erweiterung meines Mozilla deinstallieren (als root) und diese Routine hat mir freundlicherweise das *komplette* /bin-Verzeichnis weggefegt - jetzt muss ich das manuell rekonstruieren... *ichinstallierenurnochdaswasichbrauche*
Ich weiß nicht in wie weit RegEx hier unterstützt werden, ob man ^ auch zur Negation verwenden kann, vielleicht geht es ja.
Nicht ^ sondern !, in der Anleitung zu RewriteCond stehts drin.
RewriteCond %{REQUEST_URI} ^/(en|de|es|fr)/.*
RewriteRule ^/(.*?)/(.*)$ script.php?url=$2&lang=$1 [L]Hätte ich direkt 2 Fliegen mit einer Klappe geschlagen!
Genau, nur das ich das Problem habe, das bei dem Projekt, wo ich gerade daran arbeite, Mehrsprachigkeit _nicht_ gefordert ist. (sonst habe ich es auch immer so gemacht, bzw. die RewriteCond-Zeile ausgelassen und in RewriteRule halt statts (.*?) (de|en) verwendet)
Noch ein Tipp:
RewriteRule ^/([^/]*)/(.*)$ script.php?url=$2&lang=$1 [L]
geht schneller. :)
Grüße,
Christian
Ich bitte darum, dass ein Themenbereich (BARRIEREFREIHEIT) eingerichtet wird.