mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Apache, Lighttpd, nginx, Cherokee
Post Reply
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

mod_rewrite, htaccess > Alles ausser einer Liste von Dateien umleiten

Post 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 ?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

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

Post 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
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

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

Post by hever »

Hey kewl danke,
kannst du das vielleicht ein bisschen kommertieren bzw. erklären ?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

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

Post by Joe User »

Die entsprechende Doku findet sich unter: http://httpd.apache.org/docs/2.0/misc/rewriteguide.html
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

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

Post 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 ?
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

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

Post 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
hever
Posts: 74
Joined: 2003-09-14 15:23
Location: Münster
 

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

Post 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...
Post Reply