Apenas para ecoar as preocupações nos comentários ... esse é um requisito estranho. No entanto, você pode fazer isso usando mod_rewrite. Por exemplo, tente o seguinte:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(testStr%3Dhello%26id%3Drad)$
RewriteRule ^/?(home)$ /$1?%1 [B,NE,R,L]
Isso emite um redirecionamento temporário (302) de /home?testStr%3Dhello%26id%3Drad para /home?testStr%253Dhello%2526id%253Drad (duplamente codificado).
A variável de servidor QUERY_STRING não é% -decoded, portanto, você corresponde à string de consulta literal conforme fornecido na diretiva RewriteCond .
A referência anterior $1 refere-se ao subpadrão capturado no padrão RewriteRule , isto é. home .
A referência anterior %1 refere-se ao subpadrão capturado na última condpat CondPattern (a diretiva RewriteCond ), por exemplo. a string de consulta codificada em% ( testStr%3Dhello%26id%3Drad ).
O sinalizador B (escape backreferences) na RewriteRule directive% -codifica a referência de referência ( %1 ) para codificar duplamente a string de consulta.
O sinalizador NE (noescape) impede que o susbstitution seja mais (triplo) codificado por URL!