# Mod Rewrite



## putzi (22. September 2006)

Hallo!

Ich arbeite das 1. mal mit mod rewrite...
Habe hier ein paar Threads gelesen, bin aber noch auf kein Ergebnis gekommen:

Meine Site ist so aufgebaut:

index.php?open=xxx&section=xxx

und ab und zu schauts sie sogar so aus:

index.php?open=xxx&section=xxx&id=123


Wie schreibe ich das jetzt ab besten um?


Danke erstmals!


----------



## Gumbo (22. September 2006)

Das kommt darauf an was du daraus machen möchtest, also welches Anfragemuster du umgeschrieben haben möchtest.


----------



## putzi (22. September 2006)

Das weiß ich eben nicht.

open=xxx
zu
xxx.html

Und beim anderen habe ich keine Ahnung.

Wie macht man das am besten?


----------



## Gumbo (22. September 2006)

Folgendes wäre möglich:
	
	
	



```
RewriteRule   ^([^/.]+)/([^/.]+)/([1-9][0-9]*)$   /index.php?open=$1&section=$2&id=$3   [L]
RewriteRule   ^([^/.]+)/([^/.]+)$                 /index.php?open=$1&section=$2   [L]
RewriteRule   ^([^/.]+)$                          /index.php?open=$1   [L]
```
Das Format des URLs wäre damit „/_foo_/_bar_/_123_“.


----------



## putzi (22. September 2006)

Danke!

Ich habe das jetzt in eine .htaccess datei geschriben und in den ordner kopiert.



> RewriteEngine on
> 
> RewriteRule   ^([^/.]+)/([^/.]+)/([1-9][0-9]*)$   /index.php?open=$1&section=$2&id=$3   [L]
> RewriteRule   ^([^/.]+)/([^/.]+)$                 /index.php?open=$1&section=$2   [L]
> RewriteRule   ^([^/.]+)$                          /index.php?open=$1   [L]



Wenn ich jetzt aber reinschreibe /start/
müsste es eigentlich start.php laden...

Aber ich werde immer zur XAMPP Startseite weitergeleitet!

Muss ich da vl. irgentwo den Pfad wechseln?

Danke!


----------



## Gumbo (26. September 2006)

Die Regelmuster sehen kein Schrägstrich am Ende vor. Probier’s einfach mal ohne Schrägstrich am Ende.


----------



## putzi (26. September 2006)

SO:
http://127.0.0.1/uttx/feuerwehr/start

funktioniert es auch nicht.


die htacces datei liegt im ordner feuerwehr!

Die Homepage ist ja so aufgebaut, dass die "index.php" Datei folgendes included:

$_GET['open']

muss ich DAS eventuell umschreiben, oder passt das so?


----------



## Gumbo (26. September 2006)

putzi hat gesagt.:
			
		

> […] die htacces datei liegt im ordner feuerwehr!


Das hätte ich gerne eher gewusst.
Probier mal Folgendes:
	
	
	



```
RewriteEngine   on
RewriteBase     /uttx/feuerwehr/
RewriteRule     ^([^/.]+)/([^/.]+)/([1-9][0-9]*)$   ./index.php?open=$1&section=$2&id=$3   [L]
RewriteRule     ^([^/.]+)/([^/.]+)$                 ./index.php?open=$1&section=$2   [L]
RewriteRule     ^([^/.]+)$                          ./index.php?open=$1   [L]
```


----------



## putzi (26. September 2006)

Hey, danke!

ALso:
http://127.0.0.1/uttx/feuerwehr/mannschaft
^^ das  schon!

aber:
http://127.0.0.1/uttx/feuerwehr/mannschaft/active
das  nicht!

Der banner wird dann z.B. so geladen:
http://127.0.0.1/uttx/feuerwehr/mannschaft/image/banner.jpg

wie kann ich das verhindern?


----------



## Gumbo (26. September 2006)

Setz noch zusätzlich das „R“-Flag, damit die Anfragen umgeleitet statt bloß serverintern umgeschrieben werden. URLs zu anderen Ressourcen müssen dann mit absoluten Pfadangaben angeben, damit sie stimmen.


----------



## putzi (26. September 2006)

> Ich arbeite das 1. mal mit mod rewrite...



Kannst du das vl. ein bisschen genauer beschreiben..

Danke

//EDIT::::::<<<<

Die URL lautet auch manchmal:
http://127.0.0.1/uttx/feuerwehr/mannschaft/2

Also:
index.php?open=mannschaft&id=2

kann ich das schreiben, oder MUSS ich da $_GET['section'] auch setzen?

Danke!


----------

