Перезапись 301 Redirect для определенных страниц - PullRequest
0 голосов
/ 26 февраля 2019

Я перемещаю старый домен в новый, однако некоторые старые страницы недоступны.Поэтому страницы, которые все еще доступны в новом домене, должны быть перенаправлены на новую существующую страницу, а все остальные должны быть перенаправлены на весь домен.У меня есть следующие правила перенаправления:

Обновлено

//Specific
RedirectMatch 301 ^/(title_1/?)$ https://www.website.com/$1
RedirectMatch 301 ^/(title_2/?)$ https://www.website.com/$1
RedirectMatch 301 ^/(title_3/?)$ https://www.website.com/$1
...

//Overall
RedirectMatch 301 ^/(.*)$ https://www.website.com/blog

Однако общее первое правило переписывает все остальные следующие правила, которые сделаны для существующих подстраниц.Есть около 200 страниц, которые добавляются в htaccess.Кроме того, я должен отметить, что весь веб-сайт работает на domain.com/blog, но все перенаправленные страницы являются только domain.com/title_name_1.

Мне нужно, чтобы указанные 200 страниц не были перезаписаны первым правилом.Таким образом, не получая перенаправления на /blog.

Я отчасти потерян с этим.Любая помощь приветствуется:)

Спасибо

1 Ответ

0 голосов
/ 26 февраля 2019

Измените порядок ваших правил и лучше используйте одну и ту же директиву RedirectMatch для всех перенаправлений:

//Example of Redirect for specific pages (about 200+) 
RedirectMatch 301 ^/(title_1|title_2|title_3)/?$ https://www.website.com/$1 

RedirectMatch 301 ^/(category/title_name_2/?)$ https://www.website.com/$1 

//Overall redirect for not specified pages in htaccess
RedirectMatch 301 ^ https://website.com/blog/

Убедитесь, что очистили кеш браузера или используйте новый браузер для проверки этого изменения.

...