.h264 is just a raw H.264 bytestream. That's just video content, which can be played back by sophisticated players, but usually you want to put everything into a container format, such as MPEG-4 Part 14 ("MP4").
So, run:
ffmpeg -i file.avi -c:v libx264 -pix_fmt yuv420p file.mp4
For HTML5 progressive download you may want to move the moov atom of the MP4 container to the beginning of the file, which allows instant playback:
ffmpeg -i file.avi -c:v libx264 -pix_fmt yuv420p -movflags faststart file.mp4
You may be interested in: