@DeadSilent
You are searching the URI for the same match on each rewrite rule. So Apache doesn't know which one you wish to match.
This match is true if the url matches "any" character. One or more times from beginning to end of url.
RewriteRule ^(.*)$ index.php?do=$1 [L,QSA]
This one also matches the same criteria.
RewriteRule ^(.*)$ link.php?get=$1 [L,QSA]
How are you going to specify when to "do" or "get"?
Also, the capture only occurs once. So you have not populated $2, $3 etc...
The last rewrite rule will always fail.
RewriteRule ^(.*)$ index.php?do=$1&search=$2&type=$3&page=$4 [L,QSA]
Here's a good article.
Apache Mod_rewrite