#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-страницы