[htaccess] In statische URL umschreiben

Raze

CHARGIN MAH LAZER
ID: 116848
L
6 Mai 2006
294
28
Guten Abend :)
Seid mitlerweile 2 geschlagenen Tagen versuche ich nun schon meine URL nach dem Schema: www.domain.de/index.php?var=bla&var=bla&var=bla in
/bla/bla/bla umzuschreiben, jedoch ohne auch nur die Spur von erfolg :(

Ich hab jetzt schon mehrere Sachen ausprobiert und mich durch unzählige Websites geklickt auf der suche nach einer Funktionierenden Lösung, aber leider ohne erfolg.

Im moment sieht der htaccessteil für den Mod rewrite folgender maßen aus:

PHP:
RewriteEngine On
RewriteRule ^([^/]*)\.html$ /index.php?Show=Show&Kat=$1&id=25 [L]
was aber (natürlich :ugly:) nicht funktioniert. Hatte auch schon kompliziertere Ansätze, jedoch haben die genauso wenig gebracht.

mfg Raze

PS: Ich hab per Mod rewrite eine Weiterleitung eingerichtet, die immer auf meine domain abzüglich des www weiterleitet ( also https://domain.de ) zum test hab ich diese Passage mal gelöscht, aber die Weiterleitung ist immernoch aktiv? :-?
Bedeutet das jetzt, das änderungen an der htaccess nicht sofort übernommen werden? das kann aber garnicht, oder? :yawn:
 
Code:
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/$ /index.php?Show=$2&Kat=$1&id=$3 [QSA,N]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)\.html$ /index.php?Show=$2&Kat=$1&id=$3 [QSA,N]
Dann sollte /bla/bla/bla/ oder /bla/bla/bla.html gehen

PS: Ich hab per Mod rewrite eine Weiterleitung eingerichtet, die immer auf meine domain abzüglich des www weiterleitet ( also https://domain.de ) zum test hab ich diese Passage mal gelöscht, aber die Weiterleitung ist immernoch aktiv? :-?
Bedeutet das jetzt, das änderungen an der htaccess nicht sofort übernommen werden? das kann aber garnicht, oder? :yawn:
Dein Browser könnte das noch cachen. Ich hatte das Problem oft beim FX. Und htaccess ist immer sofort aktiv.
 
Danke dir, werds sofort mal testen :)

:-? benutze auch den Firefox, werd dass dann am besten mal mit nem anderen Browser probieren.

mfg

Edit:
Also mit dem Chache hattest du recht, hab ihn jetz mal abgeschaltet, und die Umleitung ist nicht mehr aktiv, jedoch tuts deine Variante auch nicht :(
vllt mach ich iwas total falsch? Kann ich mir aber kaum vorstellen :/

Edit2: habs hinbekommen :D Danke dir ;)
 
Zuletzt bearbeitet:
ich mache das derzeit so:

PHP:
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !(\.js|\.ico|\.gif|\.jpg|\.png|\.css|index\.php)$

RewriteRule ^(.*)$ index.php?arguments=$1

=> sämtliche Aufrufe, die nicht auf eine js/ico/gif/jpg/png/css/index.php-datei leiten, werden zur index.php geleitet und der ursprüngliche aufruf wird als variable $arguments übergeben. die auswertung von arguments überlasse ich dann php...

also angenommen, der besucher gibt die url www.seite.de/basket/add/id/7 ein... die wird dann intern umgeleitet zu www.seite.de/index.php?arguments=basket/add/id/7...
die werte trenne ich vorerst mit explode(), der erste eintrag (basket) spricht den controller an, der 2. (add) die methode, die angesprochen werden soll... alle restlichen einträge werden so gewertert, dass immer eintrag n der variablenname ist und eintrag n+1 der wert für die variable... also in diesem fall $id=7...
 
Hört sich nach keiner schlechten lösung an, nur ich hatte mich bei mir nur gewundert, dass meine Seiten nur zögerlich indexiert wurden. So bin ich eigendlich jetzt ganz zufrieden :). ( und durch diese rewriteconds blick cih sowieso noch nicht durch :ugly: )
 
=> sämtliche Aufrufe, die nicht auf eine js/ico/gif/jpg/png/css/index.php-datei leiten, werden zur index.php geleitet und der ursprüngliche aufruf wird als variable $arguments übergeben. die auswertung von arguments überlasse ich dann php...
Dann kannst du doch gleich komplett ohne $arguments arbeiten. $_SERVER['REQUEST_URI'] enthält die nötigen Infos ;)