Как переключаться между поддоменами без геолокаций?
Есть сайт с разными поддоменами 1.site.ru 2.site.ru.
Мне бы сделать выпадающий список с выбором сайта, но так чтоб если я нахожусь на URL 1.site.ru/link123, меня перенаправляло на 2.site.ru/link123.
С плагином или без.
Сразу скажу в php и java я ноль )
Дополнительно:
Мне бы сделать выпадающий список с выбором сайта, но так чтоб если я нахожусь на URL 1.site.ru/link123, меня перенаправляло на 2.site.ru/link123.
Сразу скажу в php и java я ноль )
Выглядит как тз на фрилансе. Или я ошибаюсь, и Вы что то написали самостоятельно?
Даже если писать в куку, то в htaccess ты можешь переопределить поведение уже по состоянию этой самой куки.
Это только направление, а дальше всё зависит от той самой системы, которую ты используешь.
Не можешь - фриланс, хочешь - только разбираться самому, гуглить, искать, решать...
Ответы:
Ищи плагины форм с условиями. Можно даже на СF7 это сделать, но лучше подобрать другой, не для обратной связи.
В простейшем случае как-то так
<ul> <li><a href="https://1.site.com/<?= $_SERVER['REQUEST_URI'] ?>">site 1</a></li> <li><a href="https://2.site.com/<?= $_SERVER['REQUEST_URI'] ?>">site 2</a></li> </ul> |
<ul> <li><a href="https://1.site.com/<?= $_SERVER['REQUEST_URI'] ?>">site 1</a></li> <li><a href="https://2.site.com/<?= $_SERVER['REQUEST_URI'] ?>">site 2</a></li> </ul>
- Вот сделал так на двух доменах
https://kirov.stroykakomi.ru/
https://stroykakomi.ru/Снизу.. но ссылки не работают
- zasovskiyn, там php-код не выполняется. как-то не так вы его вставили
- Сергей delphinpro, так вставил просто
<ul> <li><a href="https://stroykakomi.ru/<?= $_SERVER['REQUEST_URI'] ?>">Сыктывкар</a></li> <li><a href="https://kirov.stroykakomi.ru/<?= $_SERVER['REQUEST_URI'] ?>">Киров</a></li> </ul>
<ul> <li><a href="https://stroykakomi.ru/<?= $_SERVER['REQUEST_URI'] ?>">Сыктывкар</a></li> <li><a href="https://kirov.stroykakomi.ru/<?= $_SERVER['REQUEST_URI'] ?>">Киров</a></li> </ul>
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для переключения между поддоменами с сохранением пути геолокация не нужна. Это обычная замена host в текущем URL. Пользователь выбирает поддомен из выпадающего списка, а JavaScript перенаправляет его на тот же путь, но с другим доменом.
Пример HTML:
<select id="subdomain-switcher"> <option value="1.site.ru">Сайт 1</option> <option value="2.site.ru">Сайт 2</option> </select>
Пример JS:
document.getElementById('subdomain-switcher').addEventListener('change', function () { const targetHost = this.value; const url = new URL(window.location.href); url.hostname = targetHost; window.location.href = url.toString(); });document.getElementById('subdomain-switcher').addEventListener('change', function () { const targetHost = this.value; const url = new URL(window.location.href); url.hostname = targetHost; window.location.href = url.toString(); });
Если пользователь находится на
1.site.ru/link123и выбирает2.site.ru, его отправит на2.site.ru/link123. Query-параметры и hash тоже сохранятся.Для WordPress можно вывести такой select в шапке через меню/виджет/шаблон. Главное — убедиться, что одинаковые пути реально существуют на всех поддоменах. Если на втором поддомене нет такой страницы, будет 404.
Если нужно, чтобы выбранный поддомен запоминался, можно использовать cookie/localStorage:
localStorage.setItem('selected_site_host', targetHost);localStorage.setItem('selected_site_host', targetHost);
Но автоматом перекидывать пользователя при каждом заходе я бы не стал без явного согласия: это может раздражать и мешать индексации.
Серверные редиректы через
.htaccessили Nginx нужны только если переключение должно работать без JS или по каким-то правилам. Для ручного выбора в выпадающем списке достаточно JS.Итог: берёте текущий URL, меняете
hostname, оставляетеpathnameкак есть и отправляете пользователя. Никакой геолокации для этого не требуется.