I have a Wordpress blog where I am redirecting blog posts from my old blog to my new blog in the format below:
The old blog is called 'News' and the new blog is simply called 'Blog' - both exist on the same domain in a subdirectory as indicated below.
OLD 'News' blog structure
http://www.example.com/news/new-android-os-3431
NEW 'Blog' blog structure
http://www.example.com/blog/new-android-os
Essentially this redirect needs to do 2 things:-
I have around 900+ posts that I need to setup redirects for - I know I could manually add each one in but that would take some time. Could anyone indicate if this could be using an regular expression directly within the htaccess file to minimise this process?
My htaccess currently looks like this:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /news/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /news/index.php [L]
</IfModule>
# END WordPress
Using mod_alias:
RedirectMatch 301 ^/news/(.+?)(-[0-9]+)?$ /blog/$1
or using mod_rewrite:
RewriteEngine On
RewriteRule ^news/(.+?)(-[0-9]+)?$ /blog/$1 [L,R=301]