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

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
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если у Вас магазин только на русском языке, то тогда сделайте Русский языком по умолчанию и отключите все остальные языки.
Сделать это можно на вкладке Панель Управления > Tools > Languages
11 Июня 2012, 13:49:17
Ответ #2
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
К сожалению отключение языка ни к чему не привело.
11 Июня 2012, 13:59:39
Ответ #3
  • Новичок
  • *
  • Сообщений: 8
  • Репутация: +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
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Можно с помощбю модулей Duplicate URL Redirect и URL Redirect Pro создать правила редиректа без языка.
20 Июля 2015, 17:55:08
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 2335
  • Репутация: +52/-4
  • Сообщество 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
  • Ветеран
  • *****
  • Сообщений: 763
  • Репутация: +6/-0
  • Сообщество 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 отображается русского языка, но содержание страницы остаётся на втором языке
Что нужно "подшаманить"
Заранее СПАСИБО!  :)