Я изо всех сил пытался найти решение этой очень простой проблемы.Вы можете подумать, что это классический тип «пожалуйста, помогите мне, мне нужно перенаправить этот URL на newurl», но, поверьте мне, это не так просто.
У меня есть домен example.com,этот example.com имеет несколько языковых вариантов:
example.com/mx
example.com/us
example.com/ca
example.com/cl
example.com/xx
и т. д. example .com - это индекс для выбора между странами, и он тоже существует, но не имеет контента.
Мы недавно переехалинаш example.com/mx на совершенно новый домен (с другой системой) example.com.mx, поэтому мы перешли к перманентному перенаправлению каждого URL-адреса туда на новый URL-адрес в example.com.mx
Хотямы были на этом, мы обнаружили, что наша многоязычная установка WordPress на example.com дублировала весь контент сайта в корневом файле, чего не должно было случиться.
Итак, у нас есть как
example.com/us/folder
example.com/cl/folder
example.com/ca/folder
etc
AND
example.com/folder which shouldn't exist
Там есть множество дублированных каталогов, мы уже знаем, куда перенаправить каждый из этих каталоговно мы просто не можем найти нужную строку кода для этого.
Например, мы настроили это правило htaccess для работы со всей папкой / mx /, что хорошо работает:
RewriteRule ^mx/shop/ https://www.example.com.mx/? [L,R=301]
RewriteRule ^mx/home/ https://www.example.com.mx/? [L,R=301]
RewriteRule ^mx/page/ https://www.example.com.mx/? [L,R=301]
RewriteRule ^mx/tag/ https://www.example.com.mx/? [L,R=301]
Но при попытке распространить эту же логику на каталог "/ shop /", он совпадает с тем же каталогом в КАЖДОЙ папке страны, чего мы явно не хотим.
Это то, что мы пытались описать ранее:
RewriteRule ^/tag/ https://www.example.com.mx/newtagurl? [L,R=301]
Это, очевидно, также перенаправляет example.com/ca/tag/, потому что ^.
Итак, мой вопрос: как правильно перенаправить в эти случаи ТОЛЬКО совпадение с начальной строкой https://example.com/tag/ вместо того, чтобы сопоставлять каждый / tag / case в каждой папке страны?
Спасибо!