map $uri in 1.3.0+ NOT working in 1.6.0+

nikolaos2012 nginx-forum at
Fri Oct 3 03:08:53 UTC 2014

We have the following code that worked in 1.3.16....

# Map VWS URI's to HTTP ($use_secure=0), HTTPS ($use_secure=1) or keep same
map $uri $use_secure {
default 0;
~^/sites/ 2;
~^/account/ 1;

And this file for the main config that includes the map file:

include /srv/etc/web_x/nginx/include/example.org_prepend.conf;

server {

# If map says that this resource should be served over HTTPS (vs. HTTP) then
redirect now
if ($use_secure = 1) {
return 301$request_uri;

However in 1.6.0 and 1.6.1 $use_secure is ALWAYS 0 no matter what URI is

I have even tried using $request_uri instead of $uri and it still won't

Why is this not backward compatible OR what am I doing wrong?

Posted at Nginx Forum:,253733,253733#msg-253733

More information about the nginx mailing list