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
The . Because the WordPress 301 redirect is not always reliable, we recommend issuing the 301 redirect via your . htaccess file. Another benefit is that the . htaccess redirect is slightly faster than redirecting via PHP, because it is loaded even before the rest of the page.
A 301 Permanent Redirect permanently redirects one URL to another. You set up a 301 redirect using . htaccess to send visitors to a new URL and tell search engines that a page has moved so that the new page can be properly indexed.
A “Regular Expression”, or RegEx, is a set of characters that create a search pattern. It's useful for redirect and SSL rules because it allows us to dynamically match any number of URLs without creating a rule for each and even without knowing what those URLs might all be.
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]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With