В URL отсутствует / test /
. Ведущее ^ ваше правило означает «начало пути». Вы, вероятно, захотите:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^/test/topic/([a-zA-Z0-9]+)/$ /test/index.php?topic=$1
Или что-то подобное.
Вы не можете сопоставить строку запроса в RewriteRule, поэтому вам нужно использовать RewriteCond.
RewriteCond %{QUERY_STRING} topic=(.*)
RewriteRule test/index.php test/topic/%1? [L]