Override 404 when navigating to single php file

WordPress .htaccess should fix this. It checks wether the file exists before doing any redirects.
Are you sure your installation is correct?