Вы можете использовать:
^(.*?\/\d{3}(?:-|_)\w+(?:-|_)\w+\/)(.*)$
, чтобы захватить обе части URL в группах захвата, и заменить на $1kunden/$2
, чтобы ваша строка выглядела как:
RedirectMatch 302 ^(.*?\/\d{3}(?:-|_)\w+(?:-|_)\w+\/)(.*)$ $1kunden/$2
Это вставит kunden/
между остальной частью URL и именем файла.
Если вы хотите указать, что имя файла должно иметь расширение (т.е. включать по крайней мере 1 .
), вы можете заменитьрегулярное выражение с:
^(.*?\/\d{3}(?:-|_)\w+(?:-|_)\w+\/)(.*?\..*?)$
РЕДАКТИРОВАТЬ Мое плохое, чтобы предотвратить рекурсию, вы можете использовать отрицательный прогноз, чтобы убедиться, что подпапка еще не существует в пути:
RedirectMatch 302 ^((?!.*subfolder\/).*?\/)(\d{3}(?:-|_)\w+(?:-|_)\w+\/)(.*)$ $1subfolder/$2$3
Это предотвратит повторное перенаправление URL, который уже содержит subfolder/
.