Как прописать редирект в htaccess с несуществующих доменов?

123
SeVlad
На сайте с 03.11.2008
Offline
1609
#11
webinfo #:
Я - не понимаю.

Я не верю. Ну не верю я в твою безграмотность.

webinfo #:
Это специальные действия, совершаемые с собственным компьютером, к теме это точно не имеет отношения. 
Очень даже имеют.  Довольно легко домен направить на любой хостинг.

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

И да. Ты таки проспорил :) (Ты говорил что я не смогу, а я смог.)

webinfo #:
но ты зачем-то начал со мной спорить. Опять та же история. 
Ты начал спорить с фактами.
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
W1
На сайте с 22.01.2021
Online
284
#12
SeVlad #:
А ТС не писал "не существующий". Он писал "левый".

Ну ты заголовок темы прочитай всё-таки, и не спорь с очевидными вещами. И я, в отличие от тебя, не умею угадывать, какая на самом деле ситуация у ТС, и чего он хочет добиться. Поэтому просто ответил на вопрос, поставленный ТС-ом. И не цепляйся ко мне со всякой ерундой и домыслами.

Мой форум - https://webinfo.guru –Там я всегда на связи
SeVlad
На сайте с 03.11.2008
Offline
1609
#13
webinfo #:
Ну ты заголовок темы прочитай всё-таки, и не спорь с очевидными вещами.

Кроме чтения букв в заголовках надо читать и понимать суть стартпоста.

Речь про несуществующие на хостинге, а не выдуманные больной фантазией.

Vladimir
На сайте с 07.06.2004
Offline
530
#14
Pentium Prescott :

Например, если сайт открывается по домену левому какому-нибудь, то делать редирект на основной.

Вот так правильно?

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.ru$ [NC]

RewriteCond %{HTTP_HOST} !^www\.domain\.ru$ [NC]

RewriteRule ^(.*)$ https://domain.ru/$1 [L,R=301]



<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
</IfModule>
Аэройога ( https://vk.com/aeroyogadom ) Йога в гамаках ( https://vk.com/aero_yoga ) Аэройога обучение ( https://aeroyoga.ru ) и просто фото ( https://weandworld.com )
Евгений Крупченко
На сайте с 27.09.2003
Offline
178
#15
Vladimir #:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTPS} =on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
</IfModule>

Стесняюсь спросить, что сие есть? Где тут проверка "левости" домена?

И я уж молчу про вариант nginx+apache когда apache на каком-нть 8080 порту висит и будет всегда думать что он на не-443'м. Ну и включать ssl на апаче в такой схеме тоже нет смысла, т.е. еще и HTTPS переменная никогда не будет on.

Евгений Крупченко
На сайте с 27.09.2003
Offline
178
#16

И кстати вот эта штука должна работать:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.domain\.ru$ [NC]
RewriteRule ^(.*)$ https://domain.ru/$1 [L,R=301]

RewriteCond: bad flag delimiters - это скорей всего где-то лишний пробел в строчках RewriteCond

Проверьте. У себя проверил - работает. Захожу по ip, оно понимает что http_host не равен ни домену, ни www.домену и делает редирект.

Т.е. все изначально правильно, зря только уже на 2 страницы соплей развели.

K0
На сайте с 16.05.2012
Offline
92
#17

На дефолт отдаю 444. А то мало ли чего...

totamon
На сайте с 12.05.2007
Offline
437
#18
Евгений Крупченко #:
Захожу по ip, оно понимает что http_host не равен ни домену, ни www.домену и делает редирект.
при чем тут IP? в стартпосте ясно написано "левому домену" можно по разному трактовать, но вероятнее всего это домен не принадлежащий владельцу сайта. непонятно как вообще возможно что сайт открывается по домену который не привязан к сайту, если принимать во внимание проксирование, парсинг и манипуляции на стороне клиента, то никак  через .htaccess не настроить редирект,  о чем тут спор на 2х страницах не пойму, вроде все серьезные люди и фигней маетесь🤔
Домены и хостинг https://8fn.ru/regru | Дедик от 3000р https://8fn.ru/73 | VPS в Москве https://8fn.ru/72 | Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno | ХОСТИНГ №1 РОССИИ https://8fn.ru/beget
W1
На сайте с 22.01.2021
Online
284
#19

Короче, всё, что я хотел сказать - это надо правильно настраивать сервер, а не маяться дурью с прописыванием директив в файле .htaccess, чтобы отсеять какие-то мифические левые/несуществующие/ненужные/мусорные и прочие домены. Исключение - некоторые ситуации со своими собственными субдоменами,  но скорее всего, это не случай ТС.
И да, проксирование - это отдельный случай, который можно обсуждать, но  .htaccess тут то же ни при  чём. И вообще, у ТС несколько неконкретное описание ситуации, которое бывает частенько  у тех, кто думает, что и так всё понятно, потому что не знает всего многообразия вариантов.

Евгений Крупченко
На сайте с 27.09.2003
Offline
178
#20
totamon #:
при чем тут IP?

Вначале вроде четко сказано - " если сайт открывается по домену левому какому-нибудь".

Это возможно если сайт открывается по своему ip, т.е. он default'ный там.

Один из вариантов уже выше показали на примере djkcklfllrlrlllf.fgh, прописав в hosts 78.140.180.145 searchengines.guru.

Вот если searchengines.guru не захочет чтоб их сайт открывался по djkcklfllrlrlllf.fgh им и может понадобится либо вышеуказанный .htaccess, либо как вначале сказал - надо сделать default виртуальный хост с редиректом на searchengines.guru.

Кроме hosts это может также быть например если сайт переехал на выделенный ip, который ранее был в использовании и возможно даже какие-то домены все еще на него указывают. Т.е. по этим "левым" доменам будет открываться этот сайт.

Хотя если это будет не случайность/ошибка, а целенаправленное проксирование, то сервер все равно будет получать правильный домен в http_host и ничего никаким htaccess'ом действительно не средиректить.


Суть в том что web-сервер надо настроить так чтоб сайт открывался только если в HTTP_HOST от клиента приходит правильное имя домена и больше никак. По ip или любому другому домену должно открываться что-то другое - заглушка или редирект, на свое усмотрение.


p.s. упс, проверил, searchengines.guru отдает Bad Request - Invalid Hostname если по ip или другому домену, значит с djkcklfllrlrlllf.fgh там было не hosts, а проксирование... ну не важно :)
123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий