Version Française
( Blog «htaccess»)

Apache Error HTTPD: NoCase option for non-regex pattern is not supported and will be ignored.

Written by Sparko | 4 January 2010 | 0

An Apache error came to fill all our Apache error_logs.  We (programmers) tend to use the [NC] flag in the .htaccess files that we create so that Apache doesn't consider the case when using RewriteCond.

The error is:
 

[warn] RewriteCond: NoCase option for non-regex pattern '-f' is not supported and will be ignored.

[warn] RewriteCond: NoCase option for non-regex pattern '-d' is not supported and will be ignored.

 

So instead of using in .htaccess:
 

RewriteCond %{REQUEST_FILENAME} !-f [NC,OR]

RewriteCond %{REQUEST_FILENAME} !-d [NC]


prefer to use:
 

RewriteCond %{REQUEST_FILENAME} !-f [OR]

RewriteCond %{REQUEST_FILENAME} !-d

 

Another (yet better!) solution is to use:
 

RewriteCond %{REQUEST_FILENAME} -f

RewriteRule "." - [skip=100]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule "." - [skip=100]

Tags: apache, htaccess, httpd, NoCase, REQUEST_FILENAME, rewriteCond,

Category: Free stuff

Share:

.htaccess: URL without "www"

Written by David Grégoire | 8 December 2009 | 0

Some people say you shouldn't have two different URLs pointing to exactly the same place, without redirection.

However, it's an esthetic choice to show, or not, the "www" in front of the domain name. So, if you prefer not having the "www", use:


RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

If you rather prefer having the "www", use:

RewriteCond %{HTTP_HOST} !^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Note that your Apache server should have MOD_REWRITE enabled.

Tags: htaccess, http_host, MOD_REWRITE, rewriteCond, rewriteRule, seo, url, www,

Category: Free stuff

Share: