mirror of
https://github.com/discourse/discourse.git
synced 2024-12-16 01:33:43 +08:00
21 lines
521 B
Ruby
21 lines
521 B
Ruby
class PermalinksController < ApplicationController
|
|
skip_before_filter :check_xhr, :preload_json
|
|
|
|
def show
|
|
url = request.fullpath[1..-1]
|
|
|
|
permalink = Permalink.find_by_url(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
|