I converted a Joomla website to WordPress. Joomla article URLs have /blog/<RandomNumber>-slug
. For example:
example.com/blog/164-postname
example.com/blog/214-anotherpostname
I need to remove /blog/164-postname
from URL so it redirects to example.com/postname
Also there are some product category URLs with this format:
example.com/category/<RandomNumber>-slug
For example:
example.com/category/12-catname
I want to redirect these urls by changing category
to product-category
and removing numbers and -
character so mentioned URL redirects to example.com/product-category/catname
with 301 code.
CodePudding user response:
Try the following at the top of your root .htaccess
file using mod_rewrite:
# Redirect "/blog/123-postname" to "/postname"
RewriteRule ^blog/\d -([\w-] )$ /$1 [R=301,L]
# Redirect "/category/123-catname" to "/product-category/catname"
RewriteRule ^(category)/\d -([\w-] )$ /product-$1/$2 [R=301,L]
The $1
and $2
backreferences contain the match from the parenthesised subpatterns in the preceding RewriteRule
pattern.
Test first with 302 (temporary) redirect to avoid potential caching issues.