Добавление строки (поддомена) в начало URL-адреса с помощью Javascript или PHP

#javascript #php #html #.htaccess

#javascript #php #HTML #.htaccess

Вопрос:

Я искал, но не смог найти много информации об этом.

По сути, я создаю веб-сайт (на основе PHP), и для моей собственной реализации переключения языка мне нужно иметь кнопки, на которые я могу нажимать, и это перенаправляло бы на точно такую же страницу на выбранном языке. Например:http://example.com/page1?param1 для http://es.example.com/page1?param1.

Есть ли какой-либо способ сделать это с помощью javascript или php?

Спасибо!

Комментарии:

1. вам нужен поддомен ah? создайте поддомен на панели вашего хостинга. Затем вы легко перенаправляете свой основной домен на поддомен. подобное href событие

2. К сожалению, создание поддоменов здесь не проблема, я их уже создал. По сути, я хочу, чтобы кнопка перенаправляла точно на ту же страницу, что и текущая страница, но на другом языке, и это не может быть сделано только с помощью HTML-кода (?)

Ответ №1:

С помощью PHP легко найти текущий URL:

$_SERVER['REQUEST_URI'] -> /page1?param1
$_SERVER['HTTP_HOST'] -> example.com

Вы можете легко использовать эту информацию для добавления ссылок, кнопок или меню в версии на других языках

Комментарии:

1. Спасибо за ваше решение. В итоге я выбрал ваш, поскольку в моем случае он самый простой.

Ответ №2:

Вы можете получить текущий URL-адрес в JavaScript, используя:

 window.location.href
  

Таким образом, ваша кнопка может вызывать функцию и передавать значение этой функции. А затем, используя регулярное выражение, вы можете вставить свою языковую переменную в соответствующее место.

 <button id='esLanguage' onclick="changeLanguage('es')"></button>

function changeLanguage(language) {

    var url = window.location.href
    var newUrl = url.replace(/^http:///, 'http://'   language   '.')

    windows.location = newUrl;
}
  

Это все при условии, что у вас есть поддомены, настроенные для каждого языка.

Ответ №3:

Используя JavaScript, вы можете сделать это:

 window.location.host = `subdomain.${window.location.host}`
  

Имейте в виду, это приведет к перезагрузке страницы.

Ответ №4:

Самое простое решение для текущего window.location :

 function withSubdomain(path = window.location.pathname, subdomain = 'blog') {
    const { protocol, host } = window.location;

    return `${protocol}//${subdomain}.${host}${path}`;
}
  

Ответ №5:

Попробуйте это.вы должны указать путь к своему поддомену в href, затем щелкнуть ссылку, которая автоматически перенаправит на страницу.

 <a href="http://es.example.com/page1?param1">param1</a>
<a href="http://es.example.com/page1?param2">param2</a>
<a href="http://es.example.com/page1?param3">param3</a>
<a href="http://es.example.com/page1?param4">param4</a>
<a href="http://es.example.com/page1?param5">param5</a>
.
.
.
..  

Примечание: * каждая ссылка представляет собой новые HTML-страницы