It's because of this line:
RewriteRule (.*) webroot/$1 [L]
The rewrite engine loops until the URI stops changing, and the (.*)
pattern is matching everything, including webroot/whatever
. Try adding a condition in front of it:
RewriteCond %{REQUEST_URI} !webroot
RewriteRule (.*) webroot/$1 [L]