Ellrohir
Ellrohir

Reputation: 1954

.htaccess redirect using GET parameters

I have already checked a lot of answers related to .htaccess redirecting, but yet I was unable to elaborate my problem:

I have an old website with blog entries addressed like this:

http://ellrohir.mzf.cz/index.php?page=blog&id=77

Now I also have a new website with "nice urls" where blog entries can be found using:

http://alois-seckar.cz/politics-blog/77

I want to "shut down" the old page and redirect any old links to new site. How to catch and transfer the old url to the new url? I still cannot figure the necessary .htaccess code up :(

Upvotes: 5

Views: 11243

Answers (2)

Amit Verma
Amit Verma

Reputation: 41249

Try this :

RewriteEngine on


RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=([^&]+)$ [NC]
RewriteRule ^index\.php$ http://alois-seckar.cz/politics-%1/%2? [NC,L,R]

Empty question mark at the end is important to discard the orignal query strings from the destination url.

%n is part of the regex in RewriteCond, it's the part matched between ([ and ]+).

This rule will redirect

example.com/index.php?page=foo&id=bar

to

example2.com/politics-foo/bar

Upvotes: 5

Ahmet ATAK
Ahmet ATAK

Reputation: 342

you can redirect to another website using .htaccess

RewriteEngine on
RewriteRule ^/index.php?page=blog&id=(.*)?$ http://example.com /politics-blog/$1 [R=301,L]

Upvotes: 0

Related Questions