Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Взял готовый код бота из интернета пытаюсь запустить выходит ошибка что делать?

Лучший ответ:
Слава богу, что вы "готовый код бота вязали",  а не папину машину из гаража. ВЫ представляете себе, что-бы было, если бы вы сели в машину и попытались поехать не умея ни водить и не зная правил движения.  Почему никому не приходит в голову, что "готовый код бота", это не веник, которым можно махать как придется. И не детская игрушка, которая создана для особей с еще ограниченным интеллектом. И что использованию сложных вещей надо учиться.  
Вот и займитесь учебой - программирование, Python и пр. А уж потом "берите готовый код".

Худший ответ:
Исправьте все табы
Вопрос: Как вы справляетесь с тупняком в программировании?

Лучший ответ:
Сила воли.

Худший ответ:
Сложно ответить на вопрос не зная конкретно вещей которые ставят вас в тупик. Причин может быть много например отсутствие фундаментальных знаний в той области где встретился тупик. Приведите несколько примеров.
Вопрос: Как на JavaScript проверить наличие интернета — онлайн или офлайн?

Лучший ответ:
https://levelup.gitconnected.com/detecting-online-...
window.addEventListener('online',  updateOnlineStatus);
window.addEventListener('offline', updateOnlineStatus);

function updateOnlineStatus(event) {
  var condition = navigator.onLine ? "online" : "offline";
  document.body.className = condition;
}

Способ 2
async function isOnline() {
  try {
    await fetch("https://google.com");
    return true;
  }

  return false;
}

Худший ответ:
Не уверен, но попробуйте через генерацию фрейма и последующего отслеживания события onload на нем. После наступления загрузки попробуйте получить доступ к контенту фрейма, если получилось, то значит интернет есть, если не получилось, то интернета нет и внутри фрейма сейчас висит заглушка. Это должно работать в том числе и IE11.
Вопрос: Как можно переписать этот код под vuejs?

Лучший ответ:
Вы не верно представляете себе что такое VueJS. VueJS это фреймворк созданный для разработки "реактивных" компонентов. В вашем случае код не имеет отношения к Vue. Ваш пример взаимодействует с DOM элементами, следовательно вам необходимо переписать его на ванильный JS, а далее уже вызывать этот код из методов Vue по событию или в момент инициализации (mount) компонента

P.S. переписать ваш код на ванильный JS дело 1-й минуты, вы к сожалению не можете решить даже эту задачу, но уже пытаетесь писать на Vue. С таким уровнем знаний вам все равно пока путь заказан, так что советую отложить VueJS и поучить JS без примесей вроде jQuery и тому подобных вещей.

P.S.P.S писать за вас тоже нет даже желания, потому что вопрос (без обид) реально ламерский и я очень надеюсь что ни один Алеша не сделает этого - иначе он конченый терпилоид! А для вас это будет опыт, который потребуется дальше если вы хотите работать в этом направлении

Худший ответ:
Константин Б. всё правильно сказал.
Но чисто для твоего понимания, как-то так это будет "выглядеть на vue": <template>
  <div>
    ...
    <div id="shadow-dom" v-if="isTrueDomHidden"> ... </div>
    <div class="true-dom" :class="{'is-hidden': isTrueDomHidden}"> ... </div>
    ...
  </div>
</template>

<script>
export default {
  data() {
    return {
      mainFeed: [], // mainFeed должна получаться и забираться где-то в другом месте внутри vue
      isTrueDomHidden: true
    }
  },
  mounted() {
    if (this.mainFeed.length) setTimeout(() => {
      this.isTrueDomHidden = false;
    }, 2000);
  }
};
</script>
Вопрос: Какую базу данных учить?

Лучший ответ:
Зависит от того, в каком классе вы учитесь.

Худший ответ:
С такими вопросами - никакую
Вопрос: Кривая вёрстка на MacOS в Safari?

Лучший ответ:
В Safari для .row:before, .row:after вычисляется ширина width: 1px; а в остальных браузерах width: 0px Эти 2px и ломают верстку.

Худший ответ:
Очередной наркоманский баг Сафари. В 14 версии, судя по всему, таки пофикшен.
Как вариант, можно добавить сроке .flex-lg-nowrap, чтобы она в принципе не переносилась на разрешениях, где должно всё входить в одну строчку.
Вопрос: Как минимально поделить число на 2 и 3 столько раз сколько будет нужно?

Лучший ответ:
21ken, добрый день!
Есть хорошая книга "Грокаем алгоритмы", в неё рассматривается похожая задача про Рюкзак.

Худший ответ:
Если комнат бесконечное количество)
Делим кол-во людей на вместительность самой большой комнаты.
Например 8 людей / 3 мест. = 2,  остаток 2 чел
Остаток делим на 2 местные и повторяем пока не вселим всех.

На вскидку в псевдокоде 

humans = 8
capacity = 3 #вместительность самой большой комнаты

while(humans>0){
    ok = Math.trunc(humans/capacity) #вселили количество
    humans -= ok * capacity #осталось вселить
    capacity -= 1 #уменьшаем вместительность комнат и повторяем

    if(ok==0){
       humans = 0 #если все вошли в одну комнату без остатка например 2 в 3 мест.
    }

}
Вопрос: Почему .parentNode underfined?

Лучший ответ:
let btn = $(this); 
$ - jquery, 
this - HTMLElement, 
$(this) - объект jquery. 

У объекта jquery нет свойства parentNode. У него есть метод parent().
parentNode есть у HTMLElement.

remove(), который вам советуют, есть и там и там, но лучше вам понимать что вы делаете, чем полагаться на удачные совпадения.

Худший ответ:
Используйте elem.remove().
Описание: https://developer.mozilla.org/ru/docs/Web/API/Chil...
Вопрос: Переходить ли на Linux на ноутбуке 2002 года? Если да, то на какой?

Лучший ответ:
С гигом памяти у вас не будет сколько-нибудь вменяемо работать с современным видео сколько-нибудь современный браузер, хоть под него вообще никакое DE не ставь.
Печатная машинка и Скайп - это принципиально различающиеся задачи.
Ну, натянете вы на это железо какую-нибудь Убунту 10.04. Ну, запустится она. Любое действие - со скоростью захода солнца. Свап сразу с запуска браузера, а там еще и винт дерьмовый, к гадалке не ходи. Мессенджеры типа Скайпа при установке просто не обнаружат железа под свои требования. Мазохизм, да и только.

Лучшее, что можно сделать с этой машинкой - это поставить ХР, старые игрушки и осчастливить какого-нибудь геймера за 40 ;)
(вздохнул, вспоминая Daggerfall на ноутбуке из начала 90-х)

Худший ответ:
У меня ноут Asus X8AC с процессором Celeron M и 1 Gb ОЗУ. Установил Antix 17 ( до него перепробовал много  дистрибутивов). Ютуб, видео - все работает. А вот на Antix 19 уже подтормаживает.
Вопрос: Статус бота discord.py?

Лучший ответ:
from asyncio import sleep
@bot.event
async def on_ready():
     while True:
          await bot.change_presence(status=discord.Status.online, activity=discord.Game("Текст игры"))
          await sleep(15)
          await bot.change_presence(status=discord.Status.online,activity=discord.Streaming("Текст стрима"))
Отступы могут быть не правильными
Также где bot там ставите как у вас названа переменная отвечающая за клиент бота

Худший ответ:
ты забыл в конце цикла поставить await sleep(15) from asyncio import sleep
@bot.event
async def on_ready():
     while True:
          await bot.change_presence(status=discord.Status.online, activity=discord.Game("Текст игры"))
          await sleep(15)
          await bot.change_presence(status=discord.Status.online,activity=discord.Streaming("Текст стрима"))
          await sleep(15)
из за это у многих могло просто заново начинаться первая функция await
Вопрос: Mail php присылает только одно поле?

Лучший ответ:
$message = "Телефон: $phone ";
$message .= "Имя: $name ";
$message .= "Время: $time ";

mail($recepient, $pagetitle, $message,

Худший ответ:
$message = "Телефон: $phone ";
$message .= "Имя: $name ";
$message .= "Время: $time ";

mail($recepient, $pagetitle, $message,
Вопрос: Где лучше взять VPS?

Лучший ответ:
Amazon AWS
simplecloud.ru
Недорого, надёжно

Худший ответ:
simplecloud или джино
Вопрос: Работает ли PHP на GitHub Pages?

Лучший ответ:
Можно gh pages с помощью AJAX отправлять формы в google forms 
Вот рабочий вариант https://github.com/jsdevel/google-form

Худший ответ:
GitHub Pages предоставляет только хостинг для статики, никаких серверных скриптов там не запустить. Так что да, если вам нужен PHP, то этот вариант не подойдет.
Вопрос: На чём сделать карту с добавлением точек пользователями?

Лучший ответ:
Контейнер карт: leaflet.js
Остальное - не важно.

Худший ответ:
Я бы использовал JavaScript API Яндекс.Карт: https://tech.yandex.ru/maps/jsapi/
Можно делать всё, что угодно. Карты для России составлены хорошо.
Ловить данные на бекенде и сохранять их в базу - это уже ваша задача. Для этого любой бекенд подойдёт, хоть чистый PHP, хоть WordPress.
Вопрос: Зачем нужны Module и Namespace?

Лучший ответ:
TypeScript появился еще до того, как в JavaScript, на котором он основан, появились какие либо модули, не то что нативные, даже эмуляций вроде commonjs или amd тогда еще не было. В те времена было в норме просто обернуть содержимое файла в замыкание, а потом либо просто подгрузить все файлы через тэг script либо просто соединить эти файлы в один. Наружу же высвечивалась одна единственная переменная, содержащая все публичное апи такого модуля, ее ложили или в глобальный объект или в другую такую-же переменную.
Конструкции module и namespace позволяют упростить создание таких переменных, избавив разработчика от написания однотипного кода. В этом плане они по сути делают одно и то же.
Сейчас это не рекомендованное использование, и стандартный плагин typescript к eslint с настройками по умолчанию запрещает эти конструкции.

Второе применение - это файлы деклараций.
namespace позволяет объявить объект, но несколько особенный в рамках типизации, он может содержать в себе любые сущности языка и экспортировать не которые из них, в том числе типы, что недоступно для декларации обычного объектного типа.declare namespace XXX {
  // по сути просто поле XXX.a
  let a: number;
  // то же поле XXX.b но уже const
  // современный ts позволяет делать поля readonly, но раньше так было нельзя
  const b: number;
  // функция, по сути метод XXX.c()
  function c(): void;
  // а вот вложенный тип через тип объекта не объявить, а в namespace можно
  type T = number | string;
}
module позволяют объявить виртуальные модули, о типах которых typescript не знает, например потому что они генерируются сборщиками вроде webpack. Яркий пример тут это css-модули или картинки, которые можно импортировать благодаря webpack, но typescript ничего не знает о их типах, поэтому нужно объявить их в глобальных декларациях:declare module '*.png' {
  const url: string;
  export default url;
}
declare module '*.css' {
  const classNames: Record<string, string>;
  export default classNames;
}

Худший ответ:
Ведь в js есть модульность и все необходимое мы импортируем явно, при импорте мы даем уникальное имя всему что импортировалось.
И тут вы подключаете AwesomeModule к котором тоже кто-то написал MyCoolClass с кучей IMyBestFrendDependancy. Вы хватаетесь за голову, т.к. пакет делает нужное, но использовать его - значит переписать 95% кода чтобы имена не пересекались. В своём коде или в пакете... головняк же. 
Вот тут-то и приходят на помощь namespace. Позволяют существовать чему-угодно с одними и теми же именами. 

Модуль - супер-класс, который содержит некоторые common-классы используемые только внутри этого модуля, экспортирует только то что вы укажете + некоторые другие мелочи в архитектуре angular (регистрация интерцеепторов, фабрики и т.д.).

Как и первое так и второе можно использовать для написания модульной архитектуры. Например подключаемых плагинов которые будут добавлять динамически новое в уже существующее приложение, используя ташние ресурсы либо добавляя свои.
Вопрос: Как правильно размещать дублирующиеся страницы на сайте?

Лучший ответ:
У товара должен быть "Основной каталог" к которому он относится.

Например основной URL товара это "каталог/подкаталог/товар" и пофиг с какой раздающей ты переходишь на страницу товара, путь это будет "каталог" или "каталог/подкаталог" или даже "акции/супер предложения" адрес у страницы товара должен быть всегда один и тот же (т.к дубли это зло).

Даже если товар в нескольких категориях например "каталог/подкаталог1" и "каталог/подкаталог2" адрес меняться не должен.

Худший ответ:
Плюсую к предыдущему ответу, от себя добавлю, что хлебные крошки к url привязывать не стоит, а все товары лучше положить в отдельную директорию, например, /tovary/ или /product/. Таким образом вы не будете размывать краулинговый бюджет на товары (если, конечно, у вас не преобладает товарный спрос над категорийным).
Вопрос: Как поменять элементы массива местами?

Лучший ответ:
Вы описали алгоритм сортировки пузырьком.

Его реализация:

int[] array = new[] { 1, 2, 3, 4, 5 };
int temp;
            for (int i = 0; i < array.Length-1; i++)
            {
                for (int j = i + 1; j < array.Length; j++)
                {
                    if (array[i] > array[j])
                    {
                        temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                    }
                }
            }

Теперь просто примените этот алгоритм к своей конкретной задаче.

Худший ответ:
для начала - у вас в коде нет ни одного изменения самого массива ))

далее.. в чем трудности?допустим мы хотим поменять пару элементов местами
int[] array = new[] { 1, 2, 3, 4, 5 };
var tmp = array[0];
array[0] = array[1];
array[1] = tmp;
про поиск
int[] array = new[] { 1, 2, 3, 4, 5 };
var maxindex  = 0;
var max = array[maxindex];
for(var i = maxindex; i<array.Length; i++)
    if (array[i] > max)
    {
       maxindex  = i;
       max = array[i];
    }
бонус (функциональный синтаксический сахар)var array = new[] { 1, 2, 3, 4, 5 };
(array[0], array[1]) = (array[1], array[0]);.. и поискvar array = new[] { 1, 2, 3, 4, 5 };
var (maxindex, max)  = (0, array[0]);
for(var i = maxindex; i<array.Length; i++)
    if (array[i] > max)
       (maxindex, max) = (i, array[i]);
Вопрос: Как в Битриксе организовать тестирование пользователей?

Лучший ответ:
Если я правильно понял потребность, то в панели администрирования в редакции Бизнес это уже организованно при помощи стандартного модуля обучение (https://dev.1c-bitrix.ru/learning/course/index.php...)

А в публичной части сайта это будет выводится компонентами из неймспейса bitrix:learning (https://dev.1c-bitrix.ru/user_help/service/learnin...)

Худший ответ:
По поводу админки сайта ничего не скажу, но зато в Битрикс24 клиентам ставим приложение для тестирования в котором можно реализовать любые фантазии по созданию тестов.
В коробке все можно реализовать штатными модулями. А для облака сделали приложение, потому что запросов таких приходит много. https://www.bitrix24.ru/apps/?app=Stockwell.testir...
Вопрос: База данных или xml?

Лучший ответ:
Нет никаких вариантов. XML - это удобный формат для обмена информацией между принципиально разными системами (как 1С и сайт, например). На этом его достоинства заканчиваются, и больше его нигде использовать нет смысла.
Как только речь заходит о постоянной обработке данных и скорости этой обработки - естественно, логично это делать при помощи баз данных, специально для этого придуманных и давно отполированных лучше, чем любые ваши велосипеды.

Худший ответ:
Идеальный вариант - комбинированный:
Медленно, но удобно и универсально - схема EAV (удобнее для частичного обновления)
А для быстрой отдачи другой способ - СУБД типа Full-Text-SearchМне нужно осознать нюансы разных вариантов, минусы, оптимизацию (что быстрее - прочесть xml или сделать выборку из 3х БД, например?)
Почему из трех БД?
Из 3-х таблиц одной БД. Конечно из БД быстрее.
Но! Если вы разово загрузите в оперативную память из XML, построите нужную структуру и ваша серверная часть не будет перезапускаться - то из XML (в оперативной памяти) будет быстрее.
Вопрос: Почему выражение for i in работает с множеством, как for in in range?

Лучший ответ:
‘123’ это строка. А строка - это последовательность символов. Поэтому строку можно превратить в любую другую последовательность, её можно перебирать посимвольно, перегнать её в список посимвольно. 
А вот с перенесением строки в множество set() будет облом: ты получишь по одному экземпляру каждого символа из строки :)

Худший ответ:
1. Что-то странное у вас 
>>> a = set('123')
>>> a
{'2', '3', '1'}
>>> for i in a: print(i)
2
3
1
2. Потому что 1,2,3 неинтерируемая последовательность чисел. Будет работать, если, например, собрать из них список или кортеж : [1, 2, 3] , (1, 2, 3)
Вопрос: Как написать такую кнопку на чистом JS, без jquery?

Лучший ответ:
Здесь есть аналоги jQuery-методов на "чистом" JS, с примерами:youmightnotneedjquery.com

Худший ответ:
У виджета (блок или компонент) кнопки 3 состояния:
1-просто кружок с после загрузки,
2-с добавленным баблом (появляется по setTimeout, плюс вешается clearTimeout по клику, если чел сам нажал)
3-с закрытым бабблом и открытым чатом (на клик по кнопке и бабблу вешается закрытие баббла и открытие модальника с чатом)
И снова состояние 1, если чат свернули (вешаешь на клик по кнопке показ модалки с чатом, на outerclick/"свернуть чат" - скрытие модалки с чатом.
Таким образом, верстаешь эти все части и вешаешь обработку событий на переходы между ними. Сам чат имеет уже свою беково-фронтовую реализацию.
Вопрос: Важно ли, какой диплом предъявить работодателю?

Лучший ответ:
В СНГ и не госсекторе - вообще пофиг. 
В остальных случаях - могут посмотреть на профильность образования.

Худший ответ:
С таким же успехом можете выкинуть диплом в помойку - никакой разницы для работодателя не будет. Другое дело, если у него есть связи с универом, и они вместе пилят деньги. Тогда да, берут предпочтительно своих.
Вопрос: Как изменить значки на изображения в metro?

Лучший ответ:
Херово гуглил

https://github.com/Jonno12345/TileIconifier/releases

Худший ответ:
Херово гуглил

https://github.com/Jonno12345/TileIconifier/releases
Вопрос: Как адекватно построить рабочее и игровое пространство на одном компьютере?

Лучший ответ:
В какой-то момент Windows засоряется и начинает глючить
Если это основная причина, то помочь вам не чем. Потому что это совершенно ложное утверждение.
Обоснование:
1. Засоряется файлами? Т.е. по-вашему ОС глючит из-за большого кол-ва файлов или что? Так вот, ОС из-за файлов - не глючит.
2. Засоряется программами? Т.е. опять же файлами или же чем? Если нет, то зачем вы все программы запускаете и оставляете их в фоновом режиме? Управляйте тем, что установили сами, сами! ОС этим заниматься не будет.
3. Засоряется реестр (как многие эникейщики скажут)? Реестр - это набор файлов, составляющих БД. У каждого пользователя есть свой файл реестра "NTUSER.DAT". Находится он в каталоге пользователя. Посмотрите его размер, если интересно. За частую, он не превышает 10мб.
Так чем же засоряется ОС? Может вашими кривыми руками? Уж извините, но иначе не скажешь.
Глючить начинает ОС из-за железа. ОС на HDD работает медленно, т.к. HDD не удовлетворяет в скорости. Поставьте SSD и не будет у вас "засоряться винда". Плюс, HDD достаточно быстро расходуют свой ресурс. Достаточно одного медленного сектора, который будет тормозить почти все операции.
Вот тебе ещё в добавок ИМХО:
У меня винда стоит с 2014 года (переставил т.к. купил SSD), программ установлено под тысячу (скрин скину, если требуется). Винтов у меня 5 штук + ssd. Забиты под завязку. Обновления ставятся почти все через месяц после выхода (исключаю косячные и нежелательные). Я разработчик софта, и это мой рабочий комп, также, он и моё игровое место, где установлено под полсотни крупных игр. Т.е. ситуация как у вас. У меня проф. ПО, у меня игры, только вот проблем у меня почему-то нет. Хотя мой комп, в рабочее время - это полигон испытаний, на котором тестируется всякий изврат. 
И кстати, я не пользуюсь ни одним средством "очистки винды".
Возможно вам стоит повысить компьютерную грамотность?

Худший ответ:
Две ОС - самый грамотный выбор. В игрушки на вм не поиграешь особо, производительность пострадает, да и танцы с бубном вам обеспечены, чтобы вы хотя бы игрушки эти смогли запустить - ту же карту nvidia в виртуалку не так просто пробросить. Самое грамотное решение - два ssd и две ОС. Одна для работы, другая для игр. Переключение займёт не более минуты. Конечно такой подход будет неудобен, если вы любите полчасика поработать и сделать условный перерыв в дотку и затем ещё полчасика поработать. 
Если не жалко собрать две машины - квм переключатели есть, usb хабы с внешнем питанием - тоже есть.
Вопрос: Manjaro на рабочем десктопе?

Лучший ответ:
Более 6 лет на Arch, последние 2 на Manjaro xfce. Перешёл из любопытства, да так и оставил. Никаких проблем со стабильностью не припомню, даже недавнее довольно серьезное полное обновление xfce прошло идеально. Очень на любителя дизайн от разработчиков, но это не проблема.

Худший ответ:
не сильно люблю ковыряться в системеприсматриваюсь к Manjaro
А ответ на ваш вопрос, кстати, тоже есть в вашем же сообщении.Manjaro: Arch-based rolling release AURза системой нужно следить, читать новости обновлений, отслеживать изменения, периодически что-то править руками
Вопрос: PHP Fatal error: 'continue' not in the 'loop' or 'switch' context?

Лучший ответ:
continue
If - не циклическая структура, continue там вообще не нужен

Худший ответ:
Continue можно использовать только внутри циклов или свитчей. Ясно же написано.
Вопрос: Как выявить сильное отклонение в массиве?

Лучший ответ:
Математическое ожидание
среднеквадратичное отклонение

Худший ответ:
из комментариев: если убирать все числа  у которых отклонение больше 100% от среднего, то 20 и 30 останутся.
потому просто просто Threshold нужный подбирайте, можете его на $avg завязать.

$prices = array(
    '10300',
    '10200',
    '1250',
    '1260',
    '1240',
    '1140',
    '20',
    '30'
);
$avg = array_sum($prices)/count($prices);
$threshold = 2100;

$result = array_filter($prices, function ($p) use ($avg, $threshold) {
    return $p < ($avg + $threshold) && $p > ($avg - $threshold) ? $p : false;
});

var_dump($result);
Вопрос: С чего начать путь product owner'а?

Лучший ответ:

вот пример, что нужно уметь, знать, понимать - Какие функции вообще он должен выполнять.

Худший ответ:
Устроится в профильную организацию и посмотреть изнутри, как это работает. 
Или сделать свой продукт. По ходу дела решите текущие вопросы.
Сухая теория вам ничего не даст.
Вопрос: Логика random min max?

Лучший ответ:
так ты же сам все объяснил вроде)
в 2.б получаем число от 0 до 3,
а в 3 пункте к этому числу добавляем 2, получится число от 2 до 5)

Худший ответ:
Math.random() * ( max - min) + min
Получаем рандомное число от 0 до 1, потом умножаем его на разницу (диапазон искомого числа). В конце, чтобы число было от min до max - прибавляем минимальное значение. 
Например 0.5 * (10 - 5) + 5 = 0.5 * 5 + 5 = 7.5 - число от 5 до 10
Вопрос: Как объединить две сети с одинаковыми IP с третьей сетью?

Лучший ответ:
Полноценной маршрутизации разумеется сделать невозможно, но трафик гонять между сетями можно.
Обычный маскарадинг.
Маршрут делаете на другую сеть.
Например у вас там за NAT"ом  сеть 192.168.1.0/24 и вам нужно достучаться до нее из сети 192.168.1.0/24 - делаете маршрут на сеть скажем 192.168.30.0/24 чтобы трафик ушел на маршрутизатор за которым эта сеть, а уж на нем обычная трансляция адресов с маскарадингом - подменяете адрес назначения на нужный. Так же и в обратную сторону.

можно ли с помощью D-Link DGS-1100-24 подключить к третьей сети (10.1.*.*)?  DGS-1100-24 это банальный коммутатор от него ничего не зависит. Маршрутизацию то вы будете настраивать на маршрутизаторах.

Худший ответ:
D-Link DGS-1100-24, насколько я вижу - это L2-коммутатор. Если в ваших сетях перед ним не стоит ничего, умеющего L3, то глобально побороться не получится.

В целом, я бы для 192.168 сделал NATы "1 в 1" в незанятые диапазоны аналогичных размеров. Скажем, первую сеть в 10.2.1.0/24, вторую в 10.2.2.0/24. Тогда все маршруты вида 10.что.то.там будут работать.
Вопрос: Как изменить url после того как $_GET принял запрос?

Лучший ответ:
Ты не можешь "изменить URL" ты можешь "перенаправить человека на другую страницу"
и когда он туда перейдет - выполнится то же самое будто он сразу туда зашел
header('Location:') это примерно такого же порядка функция как и "echo" - когда ты выводишь ответ.
То есть пользователь не останется на странице где ты хочешь сменить URL. Пользователь получит ответ о том, что нужно без его ведома перейти на новую страницу
Может в понимании этого была проблема?

Худший ответ:
Нужно указывать абсолютный адрес ( http ://site.ru/stranica.php ), а не относительный (stranica.php)