# mod_rewrite - mal wieder :D



## CrushLog (8. April 2006)

Hallo,

ich weiss, die Frage wurde bestimmt schon öfters hier gestellt, und ich hab auch viel gesucht, aber nichts passendes gefunden. Ausserdem hab ich viel probiert, doch irgendwie versteh ich das System von mod_rewrite noch nicht so ganz.
Mein Problem:
ich möchte, dass ein angegebenes Verzeichnis als Variable genommen wird:
http://www.domain.de/login
das soll als http://www.domain.de/?open=login
gemacht werden.

Mein Code, der irgendwie nur halb funktioniert:


```
RewriteEngine On
RewriteBase /
RewriteRule ^(.+)$ ?open=$1
```

Könnte mir dabei jemand behilflich sein? Denn, wie gesagt, viel gescht, viel probiert, aber mod_rewrite hab ich scheinbar noch nicht so ganz verstanden :/

Danke mal wieder im voraus!


----------



## bk75 (8. April 2006)

Hier ein Beispiel mit zwei Variablen

RewriteRule ^nl-([0-9]*)-([0-9a-z]*)$ /newsletter/profile.php?f_auth=$2&f_subscriberid=$1 [L]

L bedeutet LAST, letzte Regel


----------



## Dennis Wronka (8. April 2006)

Da mod_rewrite herzlich wenig mit PHP zu tun hat wandert der Thread in's Webserver-Forum.


----------



## Gumbo (8. April 2006)

Mein Vorschlag:
	
	
	



```
RewriteEngine	on

RewriteCond	%{REQUEST_FILENAME}	!-d
RewriteCond	%{REQUEST_FILENAME}	!-f
RewriteRule	^([^/]+)$		/index.php?open=$1	[L]
```
Möglicherweise musst du noch ein paar Einstellungsänderungen vornehmen.


----------



## CrushLog (8. April 2006)

Klappt alles leider nicht so ganz.
Das Prob was ich nun hab, ist, dass die css file und die Bilder nicht geladen werden, meine Erklärung dazu:

Ich hab erstmal alles lokal bei mir auf dem Apache laufen.
Dafür hab ich dann natürlich als
RewriteBase /private/ben/v6/
angegeben, nur zum besseren Verständnis.

Wenn ich nun also folgenden Code nehme:


```
RewriteEngine On
Options +FollowSymlinks
RewriteBase /private/ben/v6/
RewriteRule	^(.+)$		?open=$1	[L]
```

geht es zwar scheinbar alles, allerdings sind keine Bilder sichtbar, und kein css file eingebunden.
Wie löse ich das nun so, dass ich aber beim hochladen auf den Webspace keine Probleme habe?
Bzw was muss ich verändern?

//Edit
Ich hab es bewusst ins PHP Forum geschrieben, einfach aus dem Grund, damit das bessere Verständnis da ist, wie ich es gern hätte. Sprich das es als URL Variable übergeben wird.


----------



## Gumbo (8. April 2006)

Hast du meinen Vorschlag schon ausprobiert?


----------



## CrushLog (8. April 2006)

Jap, aber dabei das gleiche Problem, bzw dort geht es nicht mal richtig, werds aber nochmal durchtesten.
Wie gesagt, irgendwie versteh ich es noch nicht so ganz 

//Edit
So ich habs nun hinbekommen.
Gumbo, wenn du mir nun noch beantworten kannst, ob ich immer den relativen Pfad mit angeben muss, so wie es hier nun ist, dann bin ich glücklich 


```
RewriteEngine	on
Options +FollowSymlinks
RewriteBase /private/ben/v6/
RewriteCond	%{REQUEST_FILENAME}	!-d
RewriteCond	%{REQUEST_FILENAME}	!-f
RewriteRule	^(.+)$		/private/ben/v6/index.php?open=$1	[L]
```


----------

