I started getting this error after trying to enable a rule for forced HTTPS in a production environment. The BWC_ENV environment variable can have several different values: "prod", "stage", "ben_local", "nam_local", etc.
Here is my .htaccess:
RewriteEngine On # Force HTTPS RewriteCond %{HTTPS} !=on RewriteCond %{ENV:BWC_ENV} ^prod$ RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Parse the subdomain as a variable we can access in our scripts RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{HTTP_HOST} !^www RewriteCond %{HTTP_HOST} ^([^\.]+)\.([^\.]+)\.([^\.]+)$ RewriteRule ^(.*)$ /$1?subdomain=%1 # Ditto for the path; map all requests to /index.php RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !robots.txt RewriteRule ^(.*)$ /index.php?path=$1 [L,QSA] # robots.txt - supply the correct one for each environment RewriteRule ^robots.txt$ /robots.prod.txt [NC] RewriteCond %{ENV:BWC_ENV} !prod RewriteRule ^robots.prod.txt$ /robots.stage.txt [NC]
Edit
What more, if my .htaccess contains only the following, it will also trigger a redirect loop. Why could this be?
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Ben y source share