Reputation: 4196
Using this RewriteRule in my .htaccess file I'm getting RewriteRule: Bad flag delimiters which is returning a 500 error in the browser. Can anyone point me in the right direction please. Thanks.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^dev/(.*)$ http://dev.example.com/$1 [L,R=301, NC]
This is on Ubuntu on a Digital Ocean Droplet.
Upvotes: 39
Views: 53187
Reputation: 4098
I had this error today RewriteCond: bad flag delimiters
while restarting Apache/2.4.57
and in my case it was caused by a space between the =
and domain name (in Apache .conf files).
good:
RewriteCond %{SERVER_NAME} =www.example4.com
wrong:
RewriteCond %{SERVER_NAME} = www.example4.com
still wrong but with quotes:
RewriteCond %{SERVER_NAME} = "www.example4.com"
Upvotes: 0
Reputation: 570
Check at the link below, and it will give you the line with error, which will be straight forward to fix
http://www.htaccesscheck.com/index.html
In your case it will clearly specify the bad flags in the below line, which can be corrected in their editor and check there itself.
RewriteRule ^dev/(.*)$ http://dev.example.com/$1 [L,R=301, NC]
to
RewriteRule ^dev/(.*)$ http://dev.example.com/$1 [L,R=301,NC]
Upvotes: 17
Reputation: 4196
Turns out it was because of the space before N in the flag declaration [L,R=301, NC]. I changed it to [L,R=301,NC] and now it works a treat.
Upvotes: 88