Если вы хотите соответствовать «www.example.com», но не «www.example.com/en» (и, таким образом, избежать бесконечной рекурсии), вам нужно добавить знак $ в конце регулярного выражения. Попробуйте использовать эти три правила:
<redirect url="^www\.example\.com$" to="www\.example\.com/en/" />
<redirect url="^example\.com$" to="www\.example\.com/en/" />
<redirect url="^www\.example\.com/$" to="www\.example\.com/en/" />
Добавление знака $ в конец означает, что выражение соответствует концу строки. Таким образом, добавив ^ в начало и $ в конец, вы можете сделать так, чтобы ваше выражение было всей строкой. Я думаю, что причиной того, что вы получили бесконечную рекурсию, были шаблоны, которые вы использовали все совпадения
"www.example.com/en/" и перенаправить его себе, который перенаправляет его себе снова и т. д.