Не работает переключатель языков с относительной ссылкой

голоса: 0
Делаю двуязычный сайт, на поддоменах. Не работает переключатель языков с относительной ссылкой. Тоесть с любой страницы, при выборе языка, переключается все равно на главную. Вот переключатель:   <a href= http://salonmak.com/NO NUMERIC NOISE KEY 1001>UA</a>/<a href= http://ru.salonmak.com/NO NUMERIC NOISE KEY 1000>RU</a>  что я делаю не правильно?
Адрес сайта http://www.salonmak.com/
| Автор: | Категория: Вопросы новичков

Ответов: 1

голоса: 0
  1. Это два разных сайта, здесь нет необходимости использовать операторы для обрезки урлов. Используйте полный урл, не создавайте себе проблему.
  2. Особой автоматизации здесь точно не выйдет так как сайты разные, было бы это в пределах одного сайта, тогда бы операторы можно было применять, но не для разных сайтов.
| Автор:
Александр Сколота,
По поводу направлять пользователя автоматически, в тексте статьи приведет скрипт пример который это делает.
Yuri_Geruk,

Пробовал вставить скрипт, описанный в статье 

 <script> var myLngHost = 'salonmak.com';  var myDefSubDomain = '';   var myLngDef = 'uk';  var myLngArray = {	 	'uk': myDefSubDomain, 	'ru': 'ru',	 };  var myLngSite = myGetCookie('myLngSite'); if (!myLngSite && location.pathname == '/') { 	myCheckLng(); } function myCheckLng() { 	var myLngBrowser = (navigator && navigator.language) ? navigator.language.replace(/(\w{2})(.*)/, '$1') : myLngDef; 	var myLngSubDomain = myLngArray[myLngBrowser] || myLngArray[myLngDef]; 	var myLngNeedDomain = (myLngSubDomain ? myLngSubDomain + '.': '') + myLngHost; 	mySetCookie('myLngSite', 'init', 30); 	if (location.hostname != myLngNeedDomain) { 		window.location = 'http://' + myLngNeedDomain; 	}   } function mySetCookie(name, value, expdays) { 	var today = new Date(); 	var exdate = new Date(); 	exdate.setDate(exdate.getDate() + expdays);   	document.cookie = name + "=" + escape(value) + (expdays ? "; expires=" + exdate.toUTCString() : "") + ";path=/;domain=" + location.hostname; } function myGetCookie(name) { 	var prefix = name + "=" 	var cookieStartIndex = document.cookie.indexOf(prefix) 	if (cookieStartIndex == -1) return null 	var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length) 	if (cookieEndIndex == -1) cookieEndIndex = document.cookie.length 	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex)) } </script>

после head в "страницы сайта" - не работает!

Yuri_Geruk,
Ок! сейчас сделаю
Александр Сколота,
Значит устарел скрипт так как статья давняя.
Yuri_Geruk,

Заменил в коде 

 var myLngDef = 'uk';

на

 var myLngDef = 'salonmak.com';

Теперь все работает! Если язык пользователя русский - открывается русская версия, иначе - украинская

...