Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как добавить в url адрес текущей страницы (https://javascript.ru/forum/misc/70002-kak-dobavit-v-url-adres-tekushhejj-stranicy.html)

рони 03.08.2017 08:23

samdo,
<a href="#" onclick="enRu()">English/Russian</a>

laimas 03.08.2017 08:31

samdo,
не прочел сначала чего надо. Но все это ни к чему, то что rewrite не работает в nginx, это не так, просто у него иные инструкции. Есть даже готовые онлайн конверторы инструкций .htaccess для файла конфигурации nginx.

samdo 03.08.2017 08:33

Цитата:

Сообщение от laimas (Сообщение 460460)
Если кнопки, это ссылки, так пропишите сразу в каждой нужный URL: domain/ru и domain/en, и не надо никаких скриптов.

Но в этом случае мы при переключении со страницы site.ru/some-page (например, на английский) мы попадаем на главную страницу (site.ru/en), а нам надо попасть на site.ru/en/some-page

P.S.рони, что-то не срабатывает :no:

laimas 03.08.2017 08:37

Цитата:

Сообщение от samdo
Но в этом случае мы при переключении со страницы site.ru/some-page (например, на английский) мы попадаем на главную страницу (site.ru/en), а нам надо попасть на site.ru/en/some-page

Это смотря как вы будете в кнопке ссылки формировать. У вас же раздельные домены, а значит на каждом по одной кнопке выбора языка. Кнопку кто выводит? Сервер. Ему что сложно подставлять в url ссылку адреса текущей страницы, но только другого домена?

рони 03.08.2017 08:44

samdo,
попробуйте так, копировать целиком
<script>
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
}

  </script>
<a href="#" onclick="return enRu()">English/Russian</a>

samdo 03.08.2017 08:57

рони, почти :)

Добавляется "/en/", но в конец URl-a (получается вот так site.ru/some-page/en/), а нам нужно вот так site.ru/en/some-page/

рони 03.08.2017 09:03

samdo,
function enRu() {
   var x = window.location+"";
   var reg = /\/en\//;
   if(reg.test(x)) x = x.replace(reg,"/");
   else {
   x = x.replace("site.ru","site.ru/en");
   }
   window.location = x
}

samdo 03.08.2017 09:18

рони, ДА, это оно, работает :thanks:

P.S. А реально ли, чтобы при наведении на эту ссылку в строке состония показывался нужный адрес (site.ru/en/some-page), а не "site.ru/en/#" (надеюсь я не сильно обнаглел :) )

Nexus 03.08.2017 09:19

Цитата:

Сообщение от samdo
Но в этом случае мы при переключении со страницы site.ru/some-page (например, на английский) мы попадаем на главную страницу (site.ru/en), а нам надо попасть на site.ru/en/some-page

$_SERVER['HTTP_REFERER'] не определяется?

laimas 03.08.2017 09:25

samdo,
перестаньте хренью маяться, это не JS работа, этим должен заниматься сервер, формируя сразу нужный URL в ссылке:

<a href="http://site.ru/<?=ltrim($_SERVER['REQUEST_URI'], '/en')?>">Russian</a>
<a href="http://site.ru/en<?=$_SERVER['REQUEST_URI']?>">English</a>


Часовой пояс GMT +3, время: 02:12.