Перенаправление на основе URL, а не IP-адреса в .htaccess - PullRequest
0 голосов
/ 13 февраля 2019

Я использую перенаправление в .htaccess для перенаправления любого пользователя, запрашивающего domain.com/admin, на domain.com следующим образом:

RewriteCond %{REMOTE_ADDR} !^101.101.101.101
RewriteCond %{REQUEST_URI} admin [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L]

Это перенаправляет всех посетителей, кроме тех, которые приходят с вымышленного IP-адреса101.101.101.101 и работает нормально.

Я хочу иметь возможность заменить IP-адрес URL-адресом, подобным abc.domain.com, так как IP-адрес 101.101.101.101 может меняться со временем, и динамический DNS настроенна abc.domain.com, чтобы отслеживать обновленный IP-адрес.Возможно ли это?

Я пытался поместить URL в одинарные кавычки, двойные кавычки и т. Д. Безрезультатно.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Замените эту строку:

RewriteCond %{REMOTE_ADDR} !^101.101.101.101

На это:

RewriteCond %{HTTP_HOST} !^(www\.)?abc\.domain\.com$

Очистите кэш браузера, затем проверьте, если все в порядке, замените R=302 на R=301 на постоянныйперенаправление.

0 голосов
/ 13 февраля 2019

Вы пробовали что-то вроде:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.from_domain\.com [NC]
RewriteRule ^(.*)$ http://www.to_domain.com/$1 [R=302,L]
...