Вы можете сопоставить формат URI запроса, например year/month/post-name
, с регулярным выражением в RewriteCondition и иметь для него правило перезаписи, если URI запроса соответствует.
Фрагмент:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^\/?\d+\/\d+\/.+ [NC]
RewriteRule ^\d+\/\d+\/(.+) http://website.com/blog/$1 [NC,L,QSA]
Демонстрация: https://htaccess.madewithlove.be?share=f2c421fe-e23d-50a9-8988-9a7bac647951
В приведенном выше правиле мы выполняем сопоставление без учета регистра и собираем часть post-name
в группе 1 регулярного выражения, (.+)
. Теперь мы добавим это в наш URL перенаправления с $1
, где 1
- это номер группы (так как номер группы 0 - это само регулярное выражение).
Обновление:
Вы можете добавить R
сигнал перенаправления с кодом состояния 302
, если это временное перенаправление или постоянное перенаправление 301
(которое будет обновлен и в механизмах сканирования SEO).
Для этого вы можете изменить правило перезаписи с
RewriteRule ^\d+\/\d+\/(.+) http://website.com/blog/$1 [NC,L,QSA]
на
RewriteRule ^\d+\/\d+\/(.+) http://website.com/blog/$1 [R=302,NC,L,QSA]