WordPress überschreibt die .htaccess und um eigene Regeln zu erstellen muss man ein paar Kleinigkeiten beachten:

# BEGIN WordPress
<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

So oder ähnlich sieht die htaccess für gewöhnlich aus. Eigene Regeln sollten nicht im Bereich zwischen den Kommentaren #BEGIN WordPress und #END WordPress eingefügt werden.

Im Zweifel einfach davor setzen:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# Adaptive-Images ———————————————————————————–
# Add any directories you wish to omit from the Adaptive-Images process on a new line, as follows:
# RewriteCond %{REQUEST_URI} !some-directory
# RewriteCond %{REQUEST_URI} !another-directory
RewriteCond %{REQUEST_URI} !assets
# Send any GIF, JPG, or PNG request that IS NOT stored inside one of the above directories
# to adaptive-images.php so we can select appropriately sized versions
RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php
# END Adaptive-Images ——————————————————————————-
</IfModule>
# BEGIN WordPress
<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

Alternativ kann man in der .htaccess veranstalten was man möchte und dann die Dateirechte ändern. Wenn die .htaccess dann auf "Nur-Lesen" steht ist sie auch vor dem Überschreiben sicher.