Vikings wide receiver Percy Harvin will not play against the Bengals due to migraines.