Internet Service Providers (ISPs) route traffic at the IP layer with the preference of less inter-carrier payments while Content Distribution Networks (CDNs) route traffic at the application layer with the preference of better application performance. Such mismatch of routing preferences leads to conflicts that eventually result in higher operational cost for both ISPs and CDNs. In this paper, we propose to make CDN and ISP routing mutually beneficial through ISP's non-uniform bandwidth charging and CDN's bandwidth cost-aware request routing. More specifically, ISPs charge different prices for traffic that traverses different types of inter-domain links and CDNs, in routing user requests to their servers, try to minimize their ISP payments by taking the pricing information into consideration. We evaluate the solution in large scale simulations. The greedy solution presents the lowest bandwidth cost for CDNs but at the expense of network performance for users. With end-to-end delay introduced as a constraint in the optimization process, the solution maintains good network performance for users while achieving significant savings in bandwidth cost. Compared with conventional nearest-available policy in CDN request routing, our solution moves significant amount of inter-domain traffic from provider routes to peer or customer routes, reducing operational costs for ISPs and CDNs.