Gently wash the rice in a bowl, soak for 30 minutes, then drain. Warm the oil in a saucepan with the onion, ginger, garlic, and turmeric. Cook over medium-low heat for 8 minutes, then add the rice and salt. Stir to coat the rice, then add the coconut milk, 2 cups water, and the lime zest. Bring to a boil, turn the heat to low, cover, and cook until the rice is done, 15 to 18 minutes, stirring twice during cooking. Turn off the heat, and let sit while the excess moisture is absorbed.