Gareth Daine
Gareth Daine

Reputation: 4196

RewriteRule Error: Bad flag delimiters

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

Answers (3)

adrianTNT
adrianTNT

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

Arvind Kala
Arvind Kala

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

Gareth Daine
Gareth Daine

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

Related Questions