Я переношу блог, размещенный на сервере Apache, на новый домен.
Постоянные ссылки для сообщений блога останутся прежними, но на нескольких страницах URL-адреса изменятся на новом домене.
Мой вопрос заключается в том, возможно ли следующее и как бы я это сделал с помощью правил переписывания.
URL-адреса/постоянные ссылки блог-постов и большинства страниц на старом домене останутся прежними на новом домене. Поэтому я предполагаю, что я мог бы добавить правило перенаправления, которое перенаправляет с https://huiskopenomteverhuren.nl/
на https://vastgoedmentor.com
, поскольку оно найдет тот же /slug на новом домене
Некоторые страницы старого сайта перешли на новую постоянную ссылку. Поэтому мне нужны дополнительные правила для перенаправления, например, https://huiskopenomteverhuren.nl/kennisbank/
и https://vastgoedmentor.com/resources
сделать это для нескольких других страниц.
решение1
Вы можете создать несколько RewriteRule
директив с регулярными выражениями в конфигурации вашего сервера. Вам следует начать с определенных перенаправлений с измененными постоянными ссылками. Общее перенаправление для всех остальных страниц можно добавить в конце.
RewriteEngine On
RewriteRule ^/kennisbank(/.*)?$ https://vastgoedmentor.com/resources$1 [END,R=301]
RewriteRule ^/old2(/.*)?$ https://vastgoedmentor.com/new2$1 [END,R=301]
RewriteRule ^/old3(/.*)?$ https://vastgoedmentor.com/new3$1 [END,R=301]
RewriteRule ^/(.*)$ https://vastgoedmentor.com/$1 [END,R=301]
Обозначение (/.*)?
выполнит перенаправление с косой чертой в конце и без нее, а также добавит любые дополнительные сведения о пути к новому URL. Следовательно, оно превратится huiskopenomteverhuren.nl/kennisbank/something-or-nothing
в vastgoedmentor.com/resources/something-or-nothing
.
Более подробную информацию RewriteRule
можно найти на сайтеhttps://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewriterule
Поскольку все правила указывают на другой домен, нет риска попасть в цикл. Но все равно хорошей идеей будет добавить флаг END
ко всем правилам, чтобы избежать оценки оставшихся правил. Помимо флага L
, END
флаг также позволяет избежать оценки любых дополнительных правил в файлах .htaccess.
Более подробную информацию о флагах можно найти на сайте https://httpd.apache.org/docs/current/rewrite/flags.html