Нужно просто перенести правило с редиректом в начало htaccess, чтобы оно срабатывало первым.
RewriteEngine On
RewriteCond %{HTTP_HOST} cleanmagic.lv
RewriteRule (.*) http://siluetsriga.lv/$1 [R=301,L]
# BEGIN WordPress
# The directives (lines) between `BEGIN WordPress` and `END WordPress` are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Pista, на самом деле, даже если в адресной строке видишь alias.domen.ru без /, то браузер этот слеш всё равно добавит.
Заголовки HTTP запроса выглядят так https://ru.wikipedia.org/wiki/HTTP
Метод URI HTTP/Версия
Host: Домен
GET /info.php HTTP/1.1
Host: alias.domen.ru
GET / HTTP/1.1
Host: alias.domen.ru
Если убрать этот слеш
GET HTTP/1.1
будет синтаксическая ошибка и сервер вернёт ответ с кодом 400 Bad Request.
FANTASANTA, в вопросе домен site.ru, а правило только для доменов с www.
Ну и сам редирект нужно ставить в начало .htaccess чтобы он срабатывал раньше чем RewriteRule ^ index.php [L]
Правило
RewriteRule . /index.php [L]
срабатывает раньше чемНужно просто перенести правило с редиректом в начало htaccess, чтобы оно срабатывало первым.