diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
index c9b5b3406b32f01e8d4dc52200b5e0d981546c22..24a8c577ad62a61ca1483aa960a79c646daf5593 100644
--- a/app/Http/Kernel.php
+++ b/app/Http/Kernel.php
@@ -16,6 +16,7 @@ class Kernel extends HttpKernel
     protected $middleware = [
         \Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
         \Fideloper\Proxy\TrustProxies::class,
+        \App\Http\Middleware\LocalizationRedirect::class,
         // \App\Http\Middleware\VerifyCsrfToken::class,
     ];
 
diff --git a/app/Http/Middleware/LocalizationRedirect.php b/app/Http/Middleware/LocalizationRedirect.php
new file mode 100644
index 0000000000000000000000000000000000000000..f9d9e37da710a023db9ac29679dae2d8596f40de
--- /dev/null
+++ b/app/Http/Middleware/LocalizationRedirect.php
@@ -0,0 +1,52 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use LaravelLocalization;
+
+class LocalizationRedirect
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle($request, Closure $next)
+    {
+        // We only redirect to the TLDs in the production version
+        if(env("APP_ENV", "") !== "production"){
+            return $next($request);
+        }
+
+        $locale = LaravelLocalization::getCurrentLocale();
+        $host = $request->getHttpHost();
+        if($host !== "metager.de" && $locale == "de"){
+            $url = $request->url();
+            $url = str_replace($host, "metager.de", $url);
+            $url = preg_replace("/^http:\/\//", "https://", $url);
+            $url = preg_replace("/^(https:\/\/[^\/]+)\/de/", "$1", $url);
+            return redirect($url);
+        }
+
+        if($host !== "metager.es" && $locale == "es"){
+            $url = $request->url();
+            $url = str_replace($host, "metager.es", $url);
+            $url = preg_replace("/^http:\/\//", "https://", $url);
+            $url = preg_replace("/^(https:\/\/[^\/]+)\/es/", "$1", $url);
+            return redirect($url);
+        }
+
+        if($host !== "metager.org" && $locale == "en"){
+            $url = $request->url();
+            $url = str_replace($host, "metager.org", $url);
+            $url = preg_replace("/^http:\/\//", "https://", $url);
+            $url = preg_replace("/^(https:\/\/[^\/]+)\/en/", "$1", $url);
+            return redirect($url);
+        }
+
+        return $next($request);
+    }
+}