Modrewrite — статья для новичков?
вот так:

#domain.com/user-66
RewriteRule ^(user\-)([0-9]+)$ /user.php?id=$2 [L]

#domain.com/user/66/
RewriteRule ^(user)/([0-9]+)/$ /user.php?id=$2 [L]

#user.domain.com
RewriteCond %{HTTP_HOST} ^([0-9a-z\-]+)\.domain\.com$ [NC]
RewriteRule ^$ /user.php?login=%1 [L]

Последний вариант с виртуальными поддоменами возможен только если у вас есть доступ к настройкам сервера.
А свою 404-ую сделать тоже легко, в том же .htaccess пишете

ErrorDocument 404 /error404.html

или