RewriteCond %{QUERY_STRING} ^wtb=hgtvsdsd-m3u$ [NC]
RewriteCond %{HTTP_HOST} .*
RewriteRule ^gtsdsds8yz/x3idsdssq\.php https://example.com [L,R=301]
Это должно перенаправить на root, однако, оно не будет удалять параметры URL, что, я полагаю, является вашей проблемой? Но обратите внимание, что вы строго пропускаете завершающий sla sh после имени хоста в строке подстановки (браузер должен исправить это).
Чтобы удалить строку запроса, вам нужно Флаг QSD
(Query String Discard) (Apache 2.4+). Или, если вы все еще используете Apache 2.2, добавьте ?
в конец строки замены .
Например:
RewriteCond %{QUERY_STRING} ^wtb=hgtvsdsd-m3u$ [NC]
RewriteRule ^gtsdsds8yz/x3idsdssq\.php https://example.com/ [L,R=301,QSD]
Обратите внимание, что это должно go перед всеми директивами WordPress, в верхней части файла .htaccess
.
Перед тестированием вам необходимо очистить кеш браузера.
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Вы также разместили перенаправление HTTP на HTTPS не в том месте. Это также необходимо go в начале файла - перед фронт-контроллером WordPress, поскольку он просто не будет перенаправлять ваши URL-адреса WP.