Seu redirecionamento precisa ser antes do front controller (reescrita interna). O front controller está capturando todas as solicitações, exceto a raiz do documento (home page). Assim, seu redirecionamento está sendo processado apenas para a página inicial e está sendo ignorado apenas para todas as outras solicitações.
Em outras palavras:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://test.domain.com [NC]
RewriteCond %{REQUEST_URI} !^/amp/.*$
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|iphone|ipod|iemobile|opera mobile|palmos|webos|googlebot-mobile" [NC]
RewriteRule ^(.*)$ /amp/$1 [L,R=302]
RewriteRule ^uploads/(.+) http://myCDN.com/uploads/$1 [R,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Como regra geral, os redirecionamentos externos devem sempre ir antes das reescritas internas.
Você mencionou que isso está em sua "configuração do site Apache". Eu suponho que essas diretivas estão em um contêiner <Directory>
dentro de sua "configuração do site" (ou seja, em um contexto de diretório ). (Essas diretivas simplesmente não funcionariam em um contexto configuração do servidor ou host virtual , ou seja, diretamente em sua "configuração do site".)