• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Fragezeichen in RewriteRule

Hallo Zusammen,

ich beschäftige mich eine Zeit mit dem Umschreiben der URLs auf meinem System. Klappt auch soweit, jedoch möchte ich nun URLs umschreiben, die via Google veraltet sind. Wenn URLs ein Fragezeichen enthalten, zieht die RewriteRule nicht. Ich habe jegliche Kombination versucht, keine Chance.



Umzuschreibende URL (alt):
http://www.example.com/content/events?page=1

Soll werden zu (neu):
http://www.example.com/content/news


Mit folgenden Rewrites habe ich es u.a. schon versucht, ohne Erfolg:
Code:
RewriteEngine On
RewriteBase /content/

RewriteRule ^events/(.*)?$ news/? [L,R=301]
RewriteRule ^events/([-_0-9a-z]*)(\?page=(.*))? news/? [L,R=301]

Es funktioniert nur dann, solange sich keine Fragezeichen in den Parametern befinden.


Ich hoffe, jemand kennt sich hier damit etwas besser aus.

Vielen Dank.

Grüße,

Alex
 
tomx992 schrieb:
Wenn URLs ein Fragezeichen enthalten, zieht die RewriteRule nicht.
Query_String muss über RewriteCond geprüft werden:
Code:
RewriteCond %{QUERY_STRING} (.*)foo\=bar$

Hier noch ein Link zu einem deutschen Tutorial für mod_rewrite, sehr empfehlenswert:
http://www.handcode.de/talks/phpug-mod_rewrite-201201/
 
Danke für das tolle Tutorial. Schon ausgedruckt. :thumbs:

Also die RewriteCond so
Code:
RewriteCond %{QUERY_STRING} ^page=([0-9]+)$

Und die RewriteRule gleich danach so
Code:
RewriteRule ^events/(.*)$ news/? [L,R=301]

Oder?

Somit die URL
http://www.example.com/content/events?page=1

weitergeleitet wird nach
http://www.example.com/content/news


:-?
 
Oben