diff --git a/app/controllers/permalinks_controller.rb b/app/controllers/permalinks_controller.rb
index 3b243d955ee..4211c85fb56 100644
--- a/app/controllers/permalinks_controller.rb
+++ b/app/controllers/permalinks_controller.rb
@@ -3,11 +3,18 @@ class PermalinksController < ApplicationController
 
   def show
     url = request.fullpath[1..-1]
+
     permalink = Permalink.find_by_url(url)
-    if permalink && permalink.target_url
+
+    raise Discourse::NotFound unless permalink
+
+    if permalink.external_url
+      redirect_to permalink.external_url, status: :moved_permanently
+    elsif permalink.target_url
       redirect_to "#{Discourse::base_uri}#{permalink.target_url}", status: :moved_permanently
     else
       raise Discourse::NotFound
     end
   end
+
 end