That rule looks pretty much okay to me (altough the hash makes no sense, but okay).
You still need to take into account that it should only work on the subdomain, and that it should only fire if there is no real file or directory with the requested name.
All together that would be something like:
# Enable the RewriteEngine
RewriteEngine On
# If the request is for sub.example.com ...
RewriteCond %{HTTP_HOST} ^sub\\.example\\.com$
# ... and the requested filename is not a directory ...
RewriteCond %{REQUEST_FILENAME} !-d
# ... and the requested filename is not a file ...
RewriteCond %{REQUEST_FILENAME} !-f
# ... Redirect it to index.php
RewriteRule ^/?([-0-9a-zA-Z]+) index.php?v=$1
If you are on apache1.x change ^/? at the start of the rule to ^/
If you are on apache2.x change ^/? at the start of the rule just ^
This sort of brings me to another issue. Not wanting to go too far away from original topic, but I’m thinking about installing litespeed over apache and I was wondering how that would effect all my rewriterules.