RewriteRule eine URL übergeben
wiiplayer
- webserver
0 Edgar Ehritt0 Peter
Hi,
ich komme einfach nicht weiter.
Ich bekomme folgende Adresse:
test.html?page=/a1/b2/c3/x4.html
Diese Adresse
/a1/b2/c3/x4.html
muss an eine andere URL übergeben werden.
Meine Versuche:
z.b. funktionieren leider nicht ;-/
RewriteRule ^test.html?page=/(.*)$ index.php?cont=1&page=$1 [QSA]
/a1/b2/c3/x4.html sollte an $1 übergeben werden.
Bin für jeden Tip dankbar
DANKE
Hallo Wii-Player,
Meine Versuche:
RewriteRule ^test.html?page=/(.*)$ index.php?cont=1&page=$1 [QSA]
RewriteRule ^test.html$ index.php?cont=1 [L,QSA]
die Direktive RewriteRule untersucht nur den URL-path. Dabei hat, wie bei einem Dateisystem auch, der Query-String keinerlei Relevanz.
Um den Query-String ansich zu analysieren, bspw. wenn er aus mehreren Teilen zusammengesetzt wäre und Du nur page=$wert für die Weiterverarbeitung bräuchtest, müsstest Du mit RewriteCond arbeiten:
# Reqeust: test,html?x=y&z=a&page=abc
RewriteCond %{QUERY_STRING} .*(page=.*).*
RewriteRule ^test.html$ index.php?%1
Gruß aus Berlin!
eddi
Hi Edgar,
vielen Dank für deine Hilfe.
Dein Code:
RewriteCond %{QUERY_STRING} .*(page=.*).*
RewriteRule ^test.html$ index.php?%1
Ich habe jetzt so geändert und es läuft:
RewriteCond %{QUERY_STRING} .*(page=.*).*
RewriteRule ^test.html$ index.php?cont=1&%1
Ist die Syntax so richtig?
Gruß aus dem Schwarzwald
Re:
RewriteCond %{QUERY_STRING} .*(page=.*).*
RewriteRule ^test.html$ index.php?cont=1&%1Ist die Syntax so richtig?
Sieht so aus. Aber nochmals, folgendes reicht für Dich völlig aus:
RewriteRule ^test.html$ index.php?cont=1 [L,QSA]
Gruß aus Berlin!
eddi
HI
RewriteRule ^test.html$ index.php?cont=1 [L,QSA]
Stimmt, habe ich gerade getestet.
funkt.<
Nochmals vielen Dank *freu*
Ich bekomme folgende Adresse:
test.html?page=/a1/b2/c3/x4.html
....
RewriteRule ^test.html?page=/(.*)$ index.php?cont=1&page=$1 [QSA]
Wenn du QSA verwendest brauchst doch in "deinem" Fall &page=$1 nicht mehr? Oder hab ich da jetzt einen Denkfehler?
lg