За последние 24 часа нас посетили 22579 программистов и 1016 роботов. Сейчас ищут 760 программистов ...

Помогите сделать редирект с использованием регулярных выражений

Тема в разделе "Регулярные выражения", создана пользователем Landrew, 1 авг 2019.

  1. Landrew

    Landrew Новичок

    С нами с:
    1 авг 2019
    Сообщения:
    2
    Симпатии:
    0
    Доброго времени суток, форумчане. Никак не получается сделать правильный редирект в .htaccess
    Ситуация следующая, сайт переезжает с джумлы на вордпресс. Пример старого статейного URL
    site.ru/articles/989-nazvanie-stati
    Пример нового URL site.ru/articles/nazvanie-stati/

    По поводу слэша в конце в принципе все понятно, это сделано, а вот придумать правильное регулярное выражение чтобы был редирект типа такого
    Redirect 301 /articles/[любые 2-4 цифры]-[любое количество символов после тире] http://site.ru/articles/убрать первые 2-4 цирфы и тире.


    Кто предложит правильное решение, готов перевести на ЯД или телефон символическую сумму в качестве благодарности (200 руб.)

    Заранее всем благодарен.
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
  3. Emilien

    Emilien Активный пользователь

    С нами с:
    30 июн 2016
    Сообщения:
    246
    Симпатии:
    156
    Код (Text):
    1. RedirectMatch 301 ^/(articles/)\d{2,4}-(.+?)/?$ http://site.ru/$1$2/
    Или
    Код (Text):
    1. RewriteRule ^(articles/)\d{2,4}-(.+?)/?$ http://site.ru/$1$2/ [R=301,L]
    Ну и ставить выше остальных RewriteRule сразу после RewriteEngine on.
     
  4. Landrew

    Landrew Новичок

    С нами с:
    1 авг 2019
    Сообщения:
    2
    Симпатии:
    0
    Спасибо, решили проблему вот таким кодом

    Код (Text):
    1. RewriteRule articles/[0-9]{1,4}-(.+)$ articles/$1 [R=301,L]