Classical TE methods calculate the optimal routing based on a known traffic matrix. However, they are unable to handle unexpected traffic changes. Thus, various methods were proposed in recent years, such as online dynamic TE and robust static routing TE. However, online dynamic TE requires additional overhead on routers for information dissemination and suffers from the transient disruptions during routing protocol convergence, while using one robust static routing to accommodate a wide range of traffic scenarios is unable to ensure near optimality of performance for each individual traffic scenario. This paper presents an approach called dynamic hybrid routing (DHR) to achieve load balancing for a wide range of traffic scenarios. Our basic idea is to configure several routing policies in advance and then dynamically rebalance traffic by applying different preconfigured routing policy to react to traffic fluctuations. Each routing policy composes of a common basic destination-based routing and a few complementary explicit routing forwarding entries for a small set of selected ingress/egress node pairs. We design a method to find the near-optimal dynamic hybrid routing configuration. Extensive evaluation demonstrates the effectiveness of DHR. We show that DHR achieves nearoptimal load balancing and thus obtain about at least 96% throughput compared to optimal routing for each individual traffic scenario with very low overhead.