# mod_rewrite verständnisfrage



## XEMO (3. August 2005)

Hallo Leute,
ich hab mich heute zum ersten Mal intensiv mit mod_rewrite beschäftigt...
...und ich bin mir nicht sicher ob das was ich mir ausgedacht habe auch funktioniert.

Also funktioniert das;
Ich habe einen Link; _http://www.meinedomain.de/home.php?mn=3&sn=0_,
wenn ich auf den klicke erscheint in meiner URL (z.B. duch einen redirect) _http://www.meinedomain.de/home3-0.html_.
Intern wird aber das script home.php ausgeführt und die 2 GET Parameter(3 und 0) übergeben.

Funktioniert das überhaupt   
Im speziellen lautet die Frage, kann ich einen Redirect durchführen ohne das Apache versucht die Datei home3-0.html zu finden?

Danke im Vorraus für eure Antworten.

Greez da XEMO


----------



## Gumbo (3. August 2005)

Das Apache-Modul „mod_rewrite“ ist zum serverinternen Umschreiben von Anfragen. Es wäre also möglich die Anfrage /home3-0.html serverintern auf /home.php?mn=3&sn=0 umzuschreiben.


----------



## XEMO (4. August 2005)

Also ich hab mir jetzt mal folgende Regel erarbeitet, ich weiss das sie ziemlich plump geschrieben ist, aber wie gesagt das ist Neuland für mich.

RewriteCond %{QUERY_STRING} =""
RewriteRule ^(.*).php$ $1.html [r] [l]
RewriteCond %{REQUEST_FILENAME}%{QUERY_STRING} ([-0-9a-zA-Z])/(home)\.(php)(mn=([0-9]*)&sn=([0-9]*))|(ft=([0-9]*))
RewriteRule ^(.*).php$ $1%5_%6.html [r]

Nun erscheint in meiner Adressleiste index.html bzw indexXvY.html,
nun soll aber ein php-Script ausgeführt werden.

Ich kann aber nicht einfach folgende Regel verwenden;

RewriteCond %{REQUEST_FILENAME} ([-0-9a-zA-Z])/(home)\.(html)
RewriteRule ^(.*).html$ $1.php [l]

Weil dies eine Endlosschleife verursachen würde, wie kann ich zwischen einen direct Request und einen Redirect unterscheiden, sodass ich einen Anhaltspunkt für die 2. Regel habe?   

Wem diese 2 Regeln zu böse aussehen, der kann sie gerne überarbeiten.


----------



## Gumbo (4. August 2005)

Ich bitte um eine Überarbeitung.


----------



## XEMO (5. August 2005)

Kein Problem, sag mir nur wie


----------



## Gumbo (5. August 2005)

Könntest du bitte noch einmal erläutern, was genau du erreichen möchtest?


----------



## XEMO (5. August 2005)

Ich möchte meine php-scripts als html-dateien tarnen, um zum Beispiel ein höheres Ranking bei Suchmaschinen zu erreichen.

Und zwar *ohne* das ich irgendwas an meinem Script ändern muss.

Wie gesagt ich bin mir nichteinmal sicher ob dies überhaupt funktionieren kann.


----------



## Gumbo (5. August 2005)

> Ich möchte meine php-scripts als html-dateien tarnen, um zum Beispiel ein höheres Ranking bei Suchmaschinen zu erreichen.


Meines Wissens werden URLs mit der Endung html nicht denen mit der Endung php vorgezogen. Demnach ist es egal, welche oder ob es überhaupt eine Endung gibt.


> Und zwar ohne das ich irgendwas an meinem Script ändern muss.


Das halte ich für nicht möglich beziehungsweise überaus kompliziert.


----------



## XEMO (5. August 2005)

Ich meinte insbesondere Scripts die mit mehreren (vielen) GET-Parameter gefüttert werden.

Und wie komplitziert/schwierig das ist ist mir vorerst Egal, ich hab Zeit (Ferien)  ;-)


----------

