известная проблемма, решается достаточно просто
не
RewriteRule ^link/(.*)$ link.php?link=$1 [PT,L,QSA]
а
RewriteRule ^link/(.*)$ link.php\?link=$1 [PT,L,QSA]
Мат часть батенька ;)
теперь забегая вперед, в случае когда редирект со страницы с GET пармметром: - он не является частью урла не видет RewriteRule
Для этого используется двухуровневя конструкция с RewriteCond
И если бы нужно было сделать редирект в обратную сторону.
RewriteCond %{QUERY_STRING} (^|&)link\=\$1($|&)
RewriteRule ^link\.php$ /link/? [L,R=301]
Хрень по краям гет парметра это и или в случае если гет не один.
Ну и на последок вкусняшка
https://donatstudios.com/RewriteRule_Generator