В виртуальном хосте в apache я хотел бы перенаправить все запросы на <anything>.mydomain.<anything> на mydomain.com.
<anything>.mydomain.<anything>
mydomain.com
Однако приведенное ниже правило перезаписи почему-то игнорируется. Почему?
RewriteCond %{REMOTE_HOST} ^.*mydomain.* RewriteRule ^(.*)$ http://mydomain.com [R=301,L]
%{REMOTE_HOST} относится к имени компьютера, который обращается к вашему веб-сайту - он «удаленный» с точки зрения сервера . Как указал Гамбо, вы должны использовать %{HTTP_HOST}.
%{REMOTE_HOST}
%{HTTP_HOST}
Вы можете использовать это правило для перенаправления каждого запроса с хоста, отличного от example.com, на example.com:
example.com
RewriteCond %{HTTP_HOST} !^example\.com$ RewriteRule ^ http://example.com%{REQUEST_URI} [R=301,L]