changed redirect() to only force site_url() when the supplied URL doesn't start with an http protocol, allowing you to use the helper for external URLs.
diff --git a/system/helpers/url_helper.php b/system/helpers/url_helper.php
index 6c3bc83..5be4330 100644
--- a/system/helpers/url_helper.php
+++ b/system/helpers/url_helper.php
@@ -528,11 +528,16 @@
 {
 	function redirect($uri = '', $method = 'location', $http_response_code = 302)
 	{
+		if ( ! preg_match('#^https?://#i', $uri))
+		{
+			$uri = site_url($uri);
+		}
+		
 		switch($method)
 		{
-			case 'refresh'	: header("Refresh:0;url=".site_url($uri));
+			case 'refresh'	: header("Refresh:0;url=".$uri);
 				break;
-			default			: header("Location: ".site_url($uri), TRUE, $http_response_code);
+			default			: header("Location: ".$uri, TRUE, $http_response_code);
 				break;
 		}
 		exit;