Перенаправление .htaccess с IP-адреса на реальный домен - PullRequest
0 голосов
/ 22 февраля 2020

Как перенаправить IP на реальный домен? Например:

123.45.678.901 до www.example.com

и все подпапки и подстраницы, такие как

123.45.678.901 / все страницы до www.example.com/all-pages

Кроме того, моя SearchConsole также распознает «топовые сайты ссылок» для того же IP-адреса, но таким образом:

IP 123.45.678 ------------------- --------- 38 132 ССЫЛКИ

IP 123.45.678.901 ------------------------- 3617 ССЫЛКИ

Так что, вероятно, мне следует также перенаправить 123.45.678. Это возможно и как?

Еще одна вещь - IP открывается по HTTP, а домен открывается по протоколу HTTPS.

Ответы [ 2 ]

1 голос
/ 22 февраля 2020

Ваш комментарий к вашему вопросу указывает, что это намного проще, чем указывает описание в самом вопросе ... Следующее должно указать вам правильное направление, хотя вам, возможно, придется настроить его для вашей ситуации. Он не реализует какой-либо указанный c адрес (который может измениться), но вместо этого перенаправляет каждое запрошенное имя хоста (а также IP-адреса), которые не соответствуют вашему желаемому имени хоста. Если вы хотите добавить исключения, вы можете использовать директивы RewriteCond, например, если ваш http-сервер обслуживает несколько имен хостов / доменов.

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example\.com$
RewriteRule ^ https://www.example.com%{REQUEST_URI} [QSA,R=301]

Хорошей идеей будет начать с временного перенаправления 302 и изменить его только на постоянное перенаправление 301 позже, если вы уверены, что все настроено правильно. Это предотвращает проблемы с кешированием при испытаниях ...

Эта реализация будет работать аналогично в конфигурации хоста http-серверов или внутри файла распределенной конфигурации (файл ".htaccess"). Очевидно, что модуль перезаписи должен быть загружен внутри http-сервера и включен на хосте http. Если вы используете распределенный файл конфигурации, вам нужно позаботиться о том, чтобы его интерпретация вообще была включена в конфигурации хоста и находилась в папке хоста DOCUMENT_ROOT.

И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования распределенных файлов конфигурации (".htaccess"). Эти распределенные файлы конфигурации добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера. Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

0 голосов
/ 24 февраля 2020

Вот решение этой проблемы

В файле .htaccess введите следующий код:

RewriteBase /
RewriteCond %{HTTP_HOST} ^123\.45\.678\.901$
RewriteRule ^(.*)$ https://www.example.com/$1 [L,R=301]

Так что если у вас есть URL с IP-адресом типа

123.45.678.901/all/other/pages/

после реализации этого кода все страницы будут перенаправлены на

www.example.com/all/other/pages/

Я надеюсь, что смогу помочь кому-нибудь, потому что это один из очень важных факторов, которые могут испортить ваш SEO.

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