Если под цепочкой вы подразумеваете, что RewriteCond
зависит от предыдущего, вам не нужно [C]
.
Они уже связаны неявным AND
.Таким образом, будет достаточно следующего:
RewriteCond %{REMOTE_ADDR} !=123.123.123.123
RewriteCond %{SERVER_NAME} =ex.example.com [NC]
RewriteCond %{REQUEST_URI} (.*)
RewriteRule .* http://example.example.com%1 [R=301,L]
Обратите внимание на использование %{SERVER_NAME}
вместо %{HTTP_HOST}
.
Если ваш виртуальный хост по умолчанию принимает все входящие запросы, небезопасно полагаться на HTTP_HOST
, поскольку его значение берется из поля заголовка HTTP Host:
, которое может быть подделано!