The only thing really wrong with those rules is that /.html should really be \.html
With / it is never going to work, since that will literally match a slash in the URL.
The reason you use \. instead of . in the URL is that in regular expressions . matches any character. Unless you "escape" it with a \ to take away that special meaning so it just matches a dot.
1) Do you know on which version of Apache you are? If you are on 1.x (highly unlikely since it's very old), you need to start of the RewriteRules with ^/ instead of just ^
2) If you rewrite to (for the first rule) /view.php?cover=$1 instead of view.php?cover=$1, does it work then? (probably not, but on some hosts adding a leading slash fixes things -- more specifically, on hosts that use Mass Virtual Hosting)
3) You should add [L] at the end of all of those rules to tell Apache to stop matching once it's found a match. This won't fix anything for you, but it will make the code more efficient (once it works)
If none of that fixes it you should probably check if mod_rewrite is enabled in the first place (by either checking yourself if you have admin access to the server, or asking your hoster if you don').