Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.08.2017, 21:15
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

Как добавить в url адрес текущей страницы
Приветствую!
Подскажите как реализовать следующее:
есть сайт с 2-мя языковыми версиями (ru и en), русская версия сайта располагается по адресу site.ru, а английская - по адресу site.ru/en. Адреса страниц имеют одинаковые url-ы, за исключением того, что на английской версии в url-е присутсвует подкаталог /en/. Нужно, чтобы при переключении на английский, к ссылке добавлялся этот подкаталог (en) и при этом сохранялся адрес страницы.
Объясню на примере:
Пользователь находится на странице site.ru/some-page, при клике на переключатель языка (EN) его редиректит на site.ru/en/some-page. И наоборот.
Решение через .htaccess не подходит, т.к. используется nginx, к настройкам сервера доступа тоже нет, поэтому будет круто если это будет js
Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2017, 21:41
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

будет ли сайт продвигаться в поисковых системах?
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2017, 21:43
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

да, планируется
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2017, 21:51
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Тогда делайте нормальную перелинковку, а не средствами JS.
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2017, 21:54
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

А каким же еще образом я добавлю к url-у site.ru/some-page вот это "/en/", чтобы получилось site.ru/en/some-page ?
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2017, 21:59
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от samdo Посмотреть сообщение
А каким же еще образом я добавлю к url-у site.ru/some-page вот это "/en/", чтобы получилось site.ru/en/some-page ?
Точно таким же, как и делали перелинковку между станицами.
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2017, 22:06
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

Вы наверное меня не правильно поняли, подставлять в URL вот это "/en" нужно только при клике на переключатель языков, а все страницы в пределах каждого сайта линкуются, естественно, обычным способом.
Ответить с цитированием
  #8 (permalink)  
Старый 02.08.2017, 22:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

samdo,
function enRu() {
   var x = window.location;
   var reg = /\/en\//;
   if(reg.test(x)) x = x.replace(reg,"/");
   else {
   var n = x.lastIndexOf("/");
   x = x.slice(0,n) + "/en" + x.slice(n)
   }
   window.location = x
}
Ответить с цитированием
  #9 (permalink)  
Старый 03.08.2017, 07:16
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

Сообщение от рони Посмотреть сообщение
samdo,
function enRu() {
   var x = window.location;
   var reg = /\/en\//;
   if(reg.test(x)) x = x.replace(reg,"/");
   else {
   var n = x.lastIndexOf("/");
   x = x.slice(0,n) + "/en" + x.slice(n)
   }
   window.location = x
}
А как должен выглядеть html в данном случае? у меня на данный момент он выглядит так:
<a href="/en/">English</a>
JS не срабатывает.
Ответить с цитированием
  #10 (permalink)  
Старый 03.08.2017, 08:19
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от samdo
у меня на данный момент он выглядит так:
<a href="/en/">English</a>
Если кнопки, это ссылки, так пропишите сразу в каждой нужный URL: domain/ru и domain/en, и не надо никаких скриптов.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как извлечь адрес картинки, указанный внутри функции onclick? sidarvik Events/DOM/Window 19 04.02.2013 01:05
Как добавить методы объекту после конструирования. DragorWW Общие вопросы Javascript 23 21.01.2013 20:39
Как поучить скомпелированный код страницы? Petrov.I1969 Общие вопросы Javascript 14 21.05.2011 09:34
как поставить обработчик события на загрузку страницы? mister_maxim Events/DOM/Window 7 17.05.2011 21:22
переход на выбор сайт через поле ввода url (как убрать функцию "открыть все") ? rashid86 Элементы интерфейса 1 31.03.2011 14:54