5

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 :(

Ellrohir
  • 1,017
  • 1
  • 14
  • 32
  • Possible duplicate of [.htaccess URL redirect](http://stackoverflow.com/questions/3374696/htaccess-url-redirect) – Drenmi Dec 12 '15 at 14:55

2 Answers2

5

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
Amit Verma
  • 40,709
  • 21
  • 93
  • 115
0

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]
Ahmet ATAK
  • 342
  • 2
  • 13