Я переношу огромный сайт со старой фирменной CMS на WordPress и мне нужно перенаправить старую структуру URL-адресов.
В старой системе было много странных URL-адресов, но их всех объединяет то, что они содержат номер, который идентифицирует публикацию, например:
example.com/something/else/123456/another/thing.html
example.com/something/98765/thing.html
example.com/something/2468/.html
(Третье — не опечатка!)
Какое правило перезаписи htaccess перенаправит любой из них на URL-адрес вида example.com?oid=1234
, где oid
номер извлечен из старого URL-адреса?
Пока что я придумал вот это, но это не работает:
RewriteRule ^/.*([0-9]+)/.*\.html /?oid=$1
решение1
После многих проб и ошибок я пришел к такому выводу:
RewriteRule ^(.+/)+([0-9]+)/.*\.html ?oid=$2