懿王被迫逃离镐京，迁都槐里（现今陕西省兴平县），周懿王曾派虢公率军北伐犬戎，希望收复失地，但是不幸战败，此战被称为周懿王攻犬戎之战。孝王元年（前891年），周孝王初即位后，决心振兴周朝，随即命令申侯率领大军讨伐西方犬戎。申侯打败西戎，西戎于孝王五年向周朝进贡名马。