Я преобразовал веб-сайт Joomla в WordPress. URL-адреса статей Joomla имеют /blog/<RandomNumber>-slug
. Например:
example.com/blog/164-postname
example.com/blog/214-anotherpostname
Мне нужно удалить /blog/164-postname
из URL, чтобы он перенаправлял на example.com/postname
Также есть некоторые URL-адреса категорий продуктов в этом формате:
example.com/category/<RandomNumber>-slug
Например:
example.com/category/12-catname
Я хочу перенаправить эти URL-адреса, изменив category
на product-category
и удалив цифры и символ -
, чтобы упомянутый URL-адрес перенаправлял на example.com/product-category/catname
с кодом 301.
Попробуйте следующее в верхней части вашего корневого .htaccess
файла, используя 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]
Обратные ссылки $1
и $2
содержат совпадение из заключенных в скобки подшаблонов в предыдущем RewriteRule
шаблон.
Сначала проверьте с 302 (временной) переадресацией, чтобы избежать потенциальных проблем с кэшированием.