Page 1 of 1

mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-14 20:19
by hever
Hallo zusammen,
ich habe schon die Suche bemüht, bin jedoch leider nicht fündig geworden.

Zur Zeit habe ich folgende Rewrite Rule in nem .htaccess file:

Code: Select all

RewriteEngine on
RewriteBase /
RewriteRule (.*) http://www.mydomain.de/$1 [L,R]
Das ganze funktioniert und macht nichts anderes als alle Dateien die sich in dem Ordner, wo sich auch die .htaccess Datei befindet, umzuleiten.

Bsp:
http://www.mydomain.de/unterordner/datei.html wird nach http://www.mydomain.de/datei.html umgeleitet.


Was ich jedoch erreichen möchte ist etwas schwieriger. Ich möchte, das eine Liste von Dateien die ausnahme Bilden und nicht umgeleitet werden.


Der folgende Code

Code: Select all

RewriteRule !(datei1|datei2).html http://www.mydomain.de/$1 [L,R]
funktioniert da auch nicht, weil er ja auch einlesen muss wie die Datei heißt die umgeleitet werden muss, damit er sie am ende wieder dransetzen kann ($1). Ich suche also nach einer möglichkeit den Namen der Datei in die Variable $1 zu speichern. Wie oben "(.*)" und gleichzeitig einige Dateien rauszunehmen, sodass sie nicht umgeleitet werden, so wie im zweiten Beispiel "!(datei1|datei2).html".

Hat jemand von euch eine Idee ?

Re: mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-14 20:26
by Joe User
Du suchst [E], Anwendungsbeispiel:

Code: Select all

RewriteBase /
RewriteRule ^(.*).html$ $1 [C,E=WasHTML:yes]
RewriteCond %{REQUEST_FILENAME}.xhtml -f
RewriteRule ^(.*)$ $1.xhtml [S=1]
RewriteCond %{ENV:WasHTML} ^yes$
RewriteRule ^(.*)$ $1.html

Re: mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-14 20:31
by hever
Hey kewl danke,
kannst du das vielleicht ein bisschen kommertieren bzw. erklären ?

Re: mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-14 20:38
by Joe User
Die entsprechende Doku findet sich unter: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html

Re: mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-14 21:21
by hever
Ich bin bisher zu folgendem Code gekommen:

Code: Select all

RewriteRule (test.html|index.php) $1 [C,E=WasHTML:yes] 
RewriteCond %{ENV:WasHTML} !^yes$
RewriteRule ^(.*)$ http://www.mydomain.de/$1
Aber irgendwie wird noch garkeine Datei umgeleitet,eigentlich sollten jetzt alle ausser test.html und index.php umgeleitet werden.

Wo liegt denn mein Fehler ?

Hab ich das !^yes$ vielleicht falsch negiert ?

Re: mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-21 14:02
by hever
Das wird hier doch bestimmt schonmal jemand von euch gemacht haben. Vielleicht auch etwas anders als ich es vorhab. Ich kann mir einfach nicht vorestellen das das nicht geht.

Wo ist denn mein Fehler, ist der ganze Ansatz falsch oder nur ein Teil?
Habt ihr irgendwelche Vorschläge oder Ideen wie man das Problem lösen könnte?

Joe User dachtest du an das was ich bisher umgesetzt habe als du mir das [E] gezeigt hast?

Danke im Vorraus

Re: mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Posted: 2005-09-21 17:06
by hever
Ok ich konnte es jetzt doch noch selber klären und folgendes funktioniert:

Code: Select all

RewriteCond %{REQUEST_FILENAME} !/test.html
RewriteCond %{REQUEST_FILENAME} !/index.php
RewriteRule ^(.*)$ http://www.mydomain.de/$1 [L,QSA]  
Naja trotzdem danke...