Hopsel: Weiterleitung mit Get-Parameter

Beitrag lesen

Hi Phil!

Danke, so geht es (beide Varianten). Der Link ist auch hilfreich.
Wofür steht das Fragezeichen?

Ähem... Das hatte ich doch verlinkt.
Zitat:
You can, however, create URLs in the substitution string, containing a query string part. Simply use a question mark inside the substitution string, to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine a new query string with an old one, use the [QSA] flag.

"substitution string" ist in deinem Fall die Seite, auf die weitergeleitet wird.

Auf Deutsch: Wenn du den existierenden Querystring nicht weiterleiten möchtest, gibst du ein Fragezeichen an. Tust du das nicht, wird der alte Querystring einfach durchgeschleift und steht ggf. einem Skript zur Verfügung.
Möchtest du einen zusätzlichen Parameter an den Querystring anhängen, kannst du das mit dem [QSA]-Flag tun.

Muss man jetzt für jede Seite diese Regel angeben?

Natürlich nicht!

RewriteCond %{QUERY_STRING} var1=wert1

RewriteRule  ^.*.html$ http://fp-server/test/Seite1.html? [R,301]


> ~~~apache

RewriteCond %{QUERY_STRING} var1=wert50  

> RewriteRule  ^.*\.html$ http://fp-server/test/Seite50.html? [R,301]

Mir fällt gerade auf, dass ich meinen Testservernamen mitgepostet habe. Ups! =)

Auch in einer RewriteCond können Regex verwendet werden.
Zitat:
RewriteCond backreferences: These are backreferences of the form %N  (1 <= N <= 9), which provide access to the grouped parts (again, in parentheses) of the pattern, from the last matched RewriteCond in the current set of conditions.

Mit % referenzierst du also Gruppierungen aus einer RewriteCond.

Möglich wäre also folgendes:

RewriteCond %{QUERY_STRING} ^var1=wert([0-9]+)$  
RewriteRule  ^.*\.html$ http://example.org/Seite%1.html? [R,301]

Damit leitest du alle Aufrufe von
http://example.org/FOO.html?var1=wertBAR
auf
http://example.org/SeiteBAR.html
um.

MfG H☼psel

--
"It's amazing I won. I was running against peace, prosperity, and incumbency."
George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)