Я использую блог WP с qtranslate. Это позволяет мне создавать сообщения на нескольких языках.
1. Пример URL без qtranslate:
www.mysite.com / post1
2. Пример URL с локализованным контентом:
www.mysite.com / ru / post1 (английский - мои настройки по умолчанию и резерв)
www.mysite.com / де / post1
К сожалению, поисковые системы и т. Д. До сих пор помнят мои старые ссылки (1.), и они все еще доступны. Так что «www.mysite.com/post1» теперь показывает мой английский контент без перенаправления. Но то, что должно сделать, - это 301 пользователям на www.mysite.com/en/post1".
Так что теперь мне нужно правило, которое в основном проверяет наличие / en / post1 или / de / post1 в URL и в противном случае перенаправляет на запасной вариант / ru / post1 URL. Есть одно исключение, потому что "/ shop " является реальным подкаталогом и не нуждается в предшествующей языковой информации.
- ОБНОВЛЕНИЕ -
Я сделал это !!! Это было действительно весело, но мне потребовалось немало времени, чтобы понять.
RewriteRule ^$ en [R=301,L]
RewriteRule ^([a-z]{2})/{1}$ $1 [R=301,L]
RewriteRule ^([a-zA-Z0-9\-\_]{3,})(/|$)$ en/$1 [R=301,L]
Возможно, есть лучшие способы сделать это, но это помогает. Спасибо всем за первоначальную помощь!