diff --git a/src/Data/Url.hs b/src/Data/Url.hs
--- a/src/Data/Url.hs
+++ b/src/Data/Url.hs
@@ -273,6 +273,25 @@
 
 -- ** Absolute Urls
 
+fromLocation :: Maybe T.Text -> Bool -> URIAuth -> Location Abs File -> URI
+fromLocation scheme slashes auth (Location _ path ext query frag) =
+  URI (case scheme of
+         Nothing -> Strict.Nothing
+         Just x -> Strict.Just x)
+    slashes
+    auth
+    (V.fromList $ T.splitOn "/" $ T.pack $ toFilePath path ++ case ext of
+        Nothing -> ""
+        Just x -> x)
+    (fmap (\(k,mv) -> (T.pack k) Strict.:!: (case mv of
+                                               Nothing -> Strict.Nothing
+                                               Just v -> Strict.Just (T.pack v)
+                                              )) $ V.fromList query)
+    (case frag of
+       Nothing -> Strict.Nothing
+       Just f -> Strict.Just (T.pack f))
+
+
 newtype AbsoluteUrlT m a = AbsoluteUrlT
   { runAbsoluteUrlT :: (Location Abs File -> URI) -> m a
   } deriving Functor
diff --git a/urlpath.cabal b/urlpath.cabal
--- a/urlpath.cabal
+++ b/urlpath.cabal
@@ -1,5 +1,5 @@
 Name:                   urlpath
-Version:                7.0.0
+Version:                7.0.1
 Author:                 Athan Clark <athan.clark@gmail.com>
 Maintainer:             Athan Clark <athan.clark@gmail.com>
 License:                MIT
@@ -24,7 +24,7 @@
                       , monad-control-aligned
                       , monad-logger
                       , mtl
-                      , path-extra >= 0.0.5
+                      , path-extra >= 0.0.6
                       , resourcet
                       , split
                       , strict
