LINUX.ORG.RU
ФорумAdmin

Кастомное правило редиректа для определённых url

 , ,


0

1

Попадаются адреса вида http://some/path. Они не открываются, т.к. dns не знает что такое some. Их нужно автоматически переделывать в http://some.domain.ru/path, которые в dns есть и открываются нормально.

Нужно чтобы это работало в браузере chrome (как минимум). Т.е. подойдёт расширение для браузера.

Добавлять some в dns нельзя. Нужно чтобы в адресной строке браузера был правильный url. Т.е. нужен редирект с неправильного адреса на правильный, а не просто обеспечить открытие странички.

В ходе редиректа должен сохранятся /path.

Я придумал такую схему. Поднять локально nginx, который будет редиректить some/path в some.domain.ru/path. В /etc/hosts добавить запись, чтобы some резолвился на nginx, который потом сделает редирект. Я ни разу не настраивал nginx и никогда не редактировал /etc/hosts. Так что мог сморозить глупость.

Ваши идеи, господа.

★★★★★

Если бы не нужен редирект на стороне клиента - в /etc/resolv.conf можно дописать search domain.ru, после чего все адреса без точек автоматичеки бы получали .domain.ru в конец.

Ну а если нужен редирект то у тебя правильная схема описана. В hosts пишешь 127.0.0.1 some, в nginx listen 127.0.0.1; return 301 http://$server_name.domain.ru$request_uri;. Если нужен https то придётся ещё с сертификатами чуть повозиться.

firkax ()
Последнее исправление: firkax (всего исправлений: 2)