I want any requests like http://example.com/whatever/index.php, to do a 301 redirect to http://example.com/whatever/.
http://example.com/whatever/index.php
http://example.com/whatever/
I tried adding:
Try
location = /whatever/index.php { return 301 $scheme://www.example.com/whatever/; }
Another benefit from doing it this way is that nginx does a return faster than a rewrite.