What a URL rewrite actually does is make a second internal HTTP request for the REAL URL that delivers the content, it doesn't do anything magically with the URLs, it simply masks or aliases where content actually is being served from.
Code:
RewriteRule ^(.*)$ /index.php?artid=$1
In English says;
for ANY number of characters between the start (^) of, to the end ($) of. the URL string that is requested at this server, request and serve the content from site.tld/index.php?artid=[the any number of characters matched by the regular expression]
so
Code:
site.tld/this-is-the-dogs-bollocks-you-know
would be re-sent to the server as
Code:
/index.php?artid=this-is-the-dogs-bollocks-you-know
So just as long as your server side code can find the right content indentified by "this-is-the-dogs-bollocks-you-know" it will be delivered to the user agent.