Как вы сказали I need to show the WordPress website when there is a "preview" parameter on the URL
и что вы сделали, этот RewriteCond %{QUERY_STRING} !preview=true [NC]
сделает это противоположным образом, поэтому измените его на:
RewriteCond %{QUERY_STRING} preview=true [NC]
, а также объявление ?
в конце цели RewriteRule . /index.php?
, чтобы избежать добавления строки запроса и создания циклов.
Ваши правила должны выглядеть так:
RewriteCond %{QUERY_STRING} preview=true [NC]
RewriteRule . /index.php? [L]