Автор Тема: Как убрать приставку /ru  (Прочитано 7129 раз)

11 Июнь 2012, 07:12:58
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте. Подскажите пожалуйста, как убрать /ru из доменного имени и из категорий

На данный момент сайт открывается по адресу http://zakajitut.kz/ru/ а нужно http://zakajitut.kz

И так же в статьях и категориях http://zakajitut.kz/ru/music-ipods/7-ipod-touch.html а нужно http://zakajitut.kz/music-ipods/7-ipod-touch.html

Заранее спасибо!
11 Июнь 2012, 13:42:28
Ответ #1
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если у Вас магазин только на русском языке, то тогда сделайте Русский языком по умолчанию и отключите все остальные языки.
Сделать это можно на вкладке Панель Управления > Tools > Languages
11 Июнь 2012, 13:49:17
Ответ #2
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
К сожалению отключение языка ни к чему не привело.
11 Июнь 2012, 13:59:39
Ответ #3
  • Новичок
  • *
  • Сообщений: 10
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Так Вы вначале сделайте Русский язык языком по умолчанию, а потом уже поотключайте все не нужные языки. У меня по умолчанию Английский, у Вас должен быть Русский.
Проверьте кеширование браузера, и непосредственно скрипта.
Я так делала, у меня корректно сработало.
11 Июнь 2012, 14:07:26
Ответ #4
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Спасибо большое. Помогло как только кеш почистил.
20 Июль 2015, 17:39:32
Ответ #5
  • Фрилансер
  • *
  • Сообщений: 107
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А если у меня два языка:? Мне необходимо убрать хотя бы приставку Ру. Ибо сначала был один язык и проблем не было. Уже настроили контекст и тд, а теперь загорелось добавить еще один язык. Что делать? Помогите
20 Июль 2015, 17:50:20
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Можно с помощбю модулей Duplicate URL Redirect и URL Redirect Pro создать правила редиректа без языка.
20 Июль 2015, 17:55:08
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В prestasop 1.5 можно было делать так, в .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.ru/ru [NC,OR]
RewriteCond %{HTTP_HOST} ^www.mysite.ru/ru [NC]
RewriteRule ^(.*)$ http://www.mysite.ru/$1 [L,R=301,NC]
21 Июль 2015, 11:40:49
Ответ #8
  • Фрилансер
  • *
  • Сообщений: 107
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В prestasop 1.5 можно было делать так, в .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.ru/ru [NC,OR]
RewriteCond %{HTTP_HOST} ^www.mysite.ru/ru [NC]
RewriteRule ^(.*)$ http://www.mysite.ru/$1 [L,R=301,NC]

Да но на 1,6 уже не работает. Вроде бы...
21 Июль 2015, 12:48:14
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Nikola, это и в prestashop 1.5 не работало. Точнее с версии 1.5.3.1 в prestashop RewriteCond в htaccess не могут менять схему url. Все делается через правила чпу и контроллер Dispatcher.php.

Чтобы убрать один из языков в url, нужно менять базовые классы.

Основной класс формирования url по правилам чпу.
1. /classes/Dispatcher.php
везде добавить условие для id_lang и isolang исключающее ru из формирования url.
 
Все внутреннии ссылки, это нужно для замены глобальных переменных prestashop в шаблонах
2. /classes/Link.php
тоже самое для id_lang

3. Замена глобальных переменных prestashop в шаблонах
{$base_dir}на
{$link->getPageLink('index.php')}
4. В модулях, которые сами формируют ссылки
29 Июль 2016, 22:43:12
Ответ #10
  • Ученик
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В .htaccess нужно написать так
RewriteRule ^$ /index.php?isolang=ru [QSA,L]
RewriteRule ^ru/(.*)$ /$1 [R=302,L]
В админке->настройки->мета-теги и ЧПУ "Редирект на канонический УРЛ" выставляем без редиректа.
23 Сентябрь 2016, 12:45:25
Ответ #11
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В .htaccess нужно написать так
RewriteRule ^$ /index.php?isolang=ru [QSA,L]
RewriteRule ^ru/(.*)$ /$1 [R=302,L]
В админке->настройки->мета-теги и ЧПУ "Редирект на канонический УРЛ" выставляем без редиректа.
В версии 1.6.1.7 после перехода на второй язык, не удается переключить отображение страницы на русский. Адрес URL отображается русского языка, но содержание страницы остаётся на втором языке
Что нужно "подшаманить"
Заранее СПАСИБО!  :)