перенаправить /foo.html в / foo, но не / в / index в nginx

Мои файлы на диске имеют расширения:,index.htmla.html, Я хочу запроситьhttp://example.com/a загрузить/var/www/a.html а такжеhttp://example.com/ загрузить/var/www/index.html, Я хочу, чтобы любой другой URL перенаправлялся на канонический URL, поэтомуhttp://example.com/a.html следует перенаправить на.http://example.com/a

Моя конфигурация выглядит так:

rewrite ^(/.+)\.html$ $scheme://$host$1 permanent;
location / {
    root   /var/www;
    try_files $uri.html $uri $uri/ =404;
}

Это перенаправляет/a.html в/a и преуспеть в загрузкеa.html с диска:

$ curl -D- -s http://www.jefftk.com/food.html | grep ^Location
Location: http://www.jefftk.com/food
$ curl -s http://www.jefftk.com/food | grep ^Location

Но это отправляет/ к:/index

$ curl -s -D- http://www.jefftk.com/pictures/ | grep ^Location
Location: http://www.jefftk.com/pictures/index
$ curl -s -D- http://www.jefftk.com | grep ^Location
Location: http://www.jefftk.com/index

Если я удаляю правило перезаписи, оно перестает перенаправлять с/a.html в/a но и перестает отправлять/ к:/index

$ curl -D- -s http://www.jefftk.com/food.html | grep ^Location
$ curl -D- -s http://www.jefftk.com/food | grep ^Location
$ curl -D- -s http://www.jefftk.com/ | grep ^Location
$ curl -D- -s http://www.jefftk.com/pictures/ | grep ^Location

Почему это случилось? Могу ли я сделать nginx для обеих вещей, которые я хочу (нет.html расширение, нетindex в URL) одновременно?