Это, вероятно, прямой подход:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^oldsite\.com$
RewriteRule ^/?permalink1old(/.*)$ https://newsite.com/permalink1new$1 [R=301,QSA]
RewriteCond %{HTTP_HOST} ^oldsite\.com$
RewriteRule ^/?permalink2old(/.*)$ https://newsite.com/permalink2new$1 [R=301,QSA]
RewriteCond %{HTTP_HOST} ^oldsite\.com$
RewriteRule ^ https://newsite.com/ [R=301]
Таким образом, вы перенаправляете старые постоянные ссылки на старое имя хоста на их новый аналог на новом имени хоста, добавляя все, что может следовать по путиисходная старая постоянная ссылка, и вы добавляете строку запроса для сохранения аргументов.
Если постоянные ссылки никогда не содержат ничего дополнительного в своих путях, тогда вы можете упростить эти перенаправления, очевидно:
RewriteCond %{HTTP_HOST} ^oldsite\.com$
RewriteRule ^/?permalink1old/?$ https://newsite.com/permalink1new [R=301,QSA]
Хорошей идеей будет начать с временного перенаправления 302 и изменять толькоэто к 301 постоянному перенаправлению позже, как только вы уверены, что все правильно настроено. Это предотвращает проблемы с кэшированием при испытаниях ...
Эта реализация также будет работать в конфигурации хоста http-серверов или в файле динамической конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете динамический файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация вообще была включена в конфигурации хоста и чтобы он находился в папке DOCUMENT_ROOT
хоста.
И общее замечание: вы всегда должны размещать такие правила в конфигурации хоста http-серверов, а не использовать файлы динамической конфигурации (".htaccess"). Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).