There is an option on the add to cart from to submit submit_route_data
which will override the standard add to cart url used in Magento.
public function getSubmitUrl($product, $additional = array())
{
$submitRouteData = $this->getData('submit_route_data');
if ($submitRouteData) {
$route = $submitRouteData['route'];
$params = isset($submitRouteData['params']) ? $submitRouteData['params'] : array();
$submitUrl = $this->getUrl($route, array_merge($params, $additional));
} else {
$submitUrl = $this->getAddToCartUrl($product, $additional);
}
return $submitUrl;
}
I have not used this myself but this should work at least for internal urls. An example can be found at app/code/core/Mage/Checkout/Block/Cart/Item/Configure.php
in the function _prepareLayout
.
For external urls you may need to work with the event controller_action_(pre|post)dispatch_{{fullActionName}}
here you should be able to catch the pre dispatch for the add to cart action and then simply redirect the user when the product being added matches a certain product.