Как перенаправить URL-адрес с префиксом языка на тот же URL-адрес без префикса (язык по умолчанию)


Я установил модуль i18n, поэтому доступны два языка - японский и английский. Я установил японский язык в качестве языка по умолчанию, а также "согласование языка" в "только префикс пути". Таким образом, все URL-адреса без языкового префикса показывают страницы на японском и английском языках с префиксом "en".

Что я хочу сделать, так это перенаправить часть URL-адреса с префиксом на тот же URL-адрес без префикса, так как мне нужно сделать некоторые страницы доступными только на японском языке. Для например, когда пользователь пытается просмотреть my-site.com/en/cart, пользователь автоматически перенаправляется на my-site.com/cart, так как я хочу сделать my-site.com/en/cart недоступным.

Я пробовал перенаправление пути , но перенаправление не работает, хотя я установил два случая, как показано ниже

  1. " Язык" на "Все языки", "От"до"my-site.com/en/cart "и "К"к"my-site.com/cart ".

  2. " Язык "на "Английский", "От"до"my-site.com/en/cart "и "К"к"my-site.com/cart ".

Author: chinita7, 2012-01-07

2 answers

Приведенный ниже ответ требует, чтобы по крайней мере часть вашего веб-сайта использовала Менеджер страниц + панели. На мой взгляд, они должны в любом случае, но другие не согласятся. Оба этих модуля являются инструментами , в отличие от решений, поэтому этот ответ потребует от вас изучения и понимания этих двух модулей. Ссылка на отличный видеоурок. На момент написания этой статьи для этого требуется версия -dev для Ctools.

На момент написания статьи этот патч Ctools для работы необходимо применить следующие инструкции.

  1. Убедитесь, что страница, которую вы хотите перенаправить с , управляется менеджером страниц. На этой странице будет 2 варианта.
  2. Добавьте вариант "HTTP-ответа" с 301 ответом в корзину. Более подробно об этом шаге в другом вопросе . Важно, чтобы этот вариант был самым верхним . Вы можете изменить их порядок впоследствии, если потребуется.
  3. В варианте HTTP перейдите на вкладку "Контекст" на слева добавьте контекст "Язык", выбрав "Текущий язык".
  4. Перейдите к "Правилу выбора" и добавьте "Пользователь:Язык" == "Английский".
  5. Добавьте второй вариант, на этот раз вариант панелей.
  6. Во втором варианте добавьте весь контент, который вы хотите разместить на японской странице.
 1
Author: Letharion, 2012-01-14 09:02:36

В .htaccess добавьте директиву

RewriteRule ^en/(.*)$ http://my-site.com/$1 [L,R=301]
RewriteRule ^cn$ http://my-site.com [L,R=301]
 0
Author: wfy, 2014-11-12 04:52:36