Если открывать site.com/about/ то всё работает, но для site.com/about скачивается файл index.php.
Пробовал
location ~ /about/?$ {
rewrite ^/about/?$ /index.php?act=about;
}
не помогло.
Очень похоже на то, что nginx закэшировал конфиг. Повторил для другого домена, но теперь уже сразу правильно прописал - работает. Однако, как полностью обновить конфиг - неясно. reload, restart, start+stop делал - не помогает.
Проблема решена. Конфиг правильный. Просто Chrome закэшировал, что по ссылке должен был отдаваться файл на скачивание и отдавал его, даже не обращаясь к серверу, на котором уже стояли правильные конфиги.