Suas regras indicam esses procedimentos:
If the URL is only numbers, go to the beta URL followed by those numbers and stop.
If you visit domain1, go to the same URL at domain2 and stop.
Quando um L
é encontrado ou as regras são concluídas, o processamento é finalizado. Qualquer outra coisa acontecendo é uma nova conexão do navegador. Isso é provavelmente o que é confuso para você - a ordem é importante, depois as correspondências. O L
deve cuidar do problema que você tem quando está em ordem:
RewriteEngine on
RewriteRule ^([0-9]+)$ /beta/forward.php?id=$1 [L]
# end of processing [L] if it's only numeric
RewriteCond %{HTTP_HOST} ^domain1\.net$ [NC]
# if case-insensitive match of domain1.net…
RewriteRule ^(.*)$ http://domain2.net/$1 [R=301,L]
# redirect to domain2.net. End [L]