diff --git a/Mighty.hs b/Mighty.hs
--- a/Mighty.hs
+++ b/Mighty.hs
@@ -1,10 +1,11 @@
+{-# LANGUAGE OverloadedStrings #-}
+
 module Main where
 
 import Config
 import Control.Exception (handle, SomeException)
 import Control.Monad
 import qualified Data.ByteString.Char8 as BS
-import Data.List (isSuffixOf)
 import FileCGIApp
 import Log
 import Network
@@ -52,8 +53,8 @@
     sOpen = listenOn (PortNumber . fromIntegral $ port)
     spec lgr = AppSpec {
         softwareName = BS.pack $ opt_server_name opt
-      , indexFile = opt_index_file opt
-      , isHTML = \x -> ".html" `isSuffixOf` x || ".htm" `isSuffixOf` x
+      , indexFile = BS.pack $ opt_index_file opt
+      , isHTML = \x -> ".html" `BS.isSuffixOf` x || ".htm" `BS.isSuffixOf` x
       , logger = lgr
       }
     logspec = FileLogSpec {
diff --git a/Route.hs b/Route.hs
--- a/Route.hs
+++ b/Route.hs
@@ -35,6 +35,6 @@
   where
     path = many1 (noneOf "[], \t\n")
     src = BS.pack <$> path <* spcs
-    dst = path <* spcs
+    dst = BS.pack <$> path <* spcs
     op0 = OpFile <$ string "->" <|> OpCGI <$ string "=>"
     op  = op0 <* spcs
diff --git a/Types.hs b/Types.hs
--- a/Types.hs
+++ b/Types.hs
@@ -3,7 +3,7 @@
 import Data.ByteString
 
 type Src      = ByteString
-type Dst      = FilePath
+type Dst      = ByteString
 type Domain   = ByteString
 type PathInfo = ByteString
 data Block    = Block [Domain] [Route] deriving (Eq,Show)
@@ -15,4 +15,4 @@
 programName = "Mighttpd"
 
 programVersion :: String
-programVersion = "2.1.2"
+programVersion = "2.2.0"
diff --git a/mighttpd2.cabal b/mighttpd2.cabal
--- a/mighttpd2.cabal
+++ b/mighttpd2.cabal
@@ -1,5 +1,5 @@
 Name:                   mighttpd2
-Version:                2.1.2
+Version:                2.2.0
 Author:                 Kazu Yamamoto <kazu@iij.ad.jp>
 Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp>
 License:                BSD3
