Seite 1 von 1

RewriteRule gibt Internal Server Error

Verfasst: 16.10.2009, 10:35
von silent321
Hallo,

folgende Codezeile funktioniert nicht,

Code: Alles auswählen

RewriteRule ^(.*).css$ include/style/$1.css
diese Codezeile funktioniert jedoch:

Code: Alles auswählen

RewriteRule ^(.*).css$ $1.css
jedoch möchte ich ja absichtlich, dass er in die unterordner include und style geht.

Habt Ihr Rat?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 16.10.2009, 10:38
von Synonym
schon mal so versucht?

Code: Alles auswählen

RewriteRule ^(.*)\.css$ /include/style/$1.css

Verfasst: 16.10.2009, 10:42
von silent321
Dann ist der Interal Server Error weg, jedoch sagt er Objekt nicht gefunden obwohl es dort liegt.

Es scheint an dem Slash vor include zu liegen /include

Jedoch ohne das kommt wieder der Internal Server Error wobei es ja ohne den Pfad include/style/ funktioniert

Verfasst: 16.10.2009, 10:56
von Synonym
ja gut, das kann natürlich sein. Wenn Du

file.css

aufrufst, dann wird daraus:

/include/style/file.css

Aus dem wird aber dann:

/include/style/include/style/file.css

Also Du musst schon sicherstellen dass die Rule nicht greift wenn der Aufruf bereits im "/include/style/" erfolgt.

Verfasst: 16.10.2009, 11:13
von silent321
Achso! kling einleutend.

Nur wie definiere ich in der Rule dass diese nur greift wenn es der absolute Pfad ist?

RewriteRule ^ (Pfad ohne Order?) (.*)\.css$ include/style/$1.css

Verfasst: 16.10.2009, 11:15
von Synonym
Da gibt es verschiedene Wege.

Per RewriteCond die Bedingung setzen
oder per vorherige RewriteRule gleich alles was in /include/ geht abbrechen
oder versuche es mal damit

Code: Alles auswählen

RewriteRule ^([^/]+)\.css$ /include/style/$1.css [L]
"([^/]+)" Alle Zeichen, aber kein Slash

Verfasst: 16.10.2009, 11:20
von silent321
Ah super jetzt funktioniert es, musste nur das Slash vor include entfernen:

Code: Alles auswählen

RewriteRule ^([^/]+)\.css$ include/style/$1.css
Besten Dank!