Удалите R=301
, чтобы просто переписать, а не перенаправить:
RewriteRule ^images/(.*)$ /images/{HTTP_HOST}/$1 [L]
Причина, по которой он постоянно зацикливается, заключается в том, что перенаправление 301 приводит к созданию нового запроса для URL images/www.domain1.com/logo.jpg
. Этот URL-адрес также соответствует правилу ^images/(.*)$
, поэтому он снова перенаправляется до бесконечности.
Если вы действительно хотите выполнить перенаправление 301 (я подозреваю, что нет, но если бы вы это сделали), вы могли бы решить проблему бесконечного зацикливания, добавив некоторые условия перезаписи, чтобы пропустить перенаправление, если домен уже включен:
RewriteCond {REQUEST_URI} !^images/www.domain1.com/(.*)$
RewriteCond {REQUEST_URI} !^images/www.domain2.com/(.*)$
RewriteRule ^images/(.*)$ /images/{HTTP_HOST}/$1 [L,R=301]