Ваш вопрос расплывчат в том, что вы на самом деле ищете.Тем более, что вы не публикуете никаких собственных попыток, которые продемонстрировали бы, что вы на самом деле хотите реализовать.
Так что я должен немного догадаться, но я предполагаю, что это более или менее то, что вы ищете:
RewriteEngine on
RewriteRule ^/?test/(\d+)/[^/]+/(.+)$ /anotherpath/$1/$2 [END]
Это правило будет работать аналогично в конфигурации хоста http-сервера или вфайлы динамической конфигурации (файлы стиля .htaccess), если они включены.
Если вы получаете статус http 500 с использованием этого правила («внутренняя ошибка сервера»), есть вероятность, что вы используете очень старую версию сервера apache http.В этом случае попробуйте заменить флаг [END]
на более старый флаг [L]
, в этом случае он должен работать так же.В этом случае вы найдете соответствующие примечания в файле журнала ошибок http-серверов.
И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования файлов динамической конфигурации (".htaccess").Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера.Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).