Вы на правильном пути, и ваш код практически корректен. Однако проблема может заключаться в условии или в том, как происходит перенаправление.
Попробуйте следующий вариант кода для файла `.htaccess`:
```apache
RewriteEngine On
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_HOST} ^domain2\.ru$ [NC]
RewriteRule ^(.*)$ https://domain1.net/$1 [L,R=301]
</IfModule>
```
Обратите внимание на следующие моменты:
1. **Перенаправление на основе HTTP_HOST**: Убедитесь, что используете правильное имя хоста. Проверьте, нет ли лишних знаков или пробелов в домене `domain2.ru`.
2. **Код состояния 301**: Убедитесь, что вы желаете выполнить постоянное перенаправление (301). Если это тест, то вы можете временно использовать `R=302`.
3. **Проверка на наличие других правил**: Если у вас есть другие правила в файле `.htaccess`, они могут влиять на поведение редиректа. Убедитесь, что нет конфликтующих правил, которые могут вызывать неправильное перенаправление.
4. **Кэширование**: Веб-браузеры могут кэшировать результаты 301 перенаправления. Если вы изменяли правила и не видите изменений, попробуйте очистить кэш браузера или использовать режим инкогнито.
5. **Если нужно учитывать www**: Если ваш сайт доступен с `www`, вы можете добавить дополнительное условие:
```apache
RewriteCond %{HTTP_HOST} ^www\.domain2\.ru$ [NC,OR]
RewriteCond %{HTTP_HOST} ^domain2\.ru$ [NC]
RewriteRule ^(.*)$ https://domain1.net/$1 [L,R=301]
```
Применив эти изменения, ваш редирект должен работать так, как вы хотите, сохраняя структуру URL.