Kemal routing redirecting a subtree
This code snippet shows you how to redirect an entire subtree and remove the first part of the subtree.
This might come in useful, for example when you have outside links referencing different languages (e.g. /de /fr /it) and content paths in them, and you want to serve everything from the same endpoints.
# adding redirects for language paths
get "/de/*" do |env|
path_parts = env.request.path.split("/", 3)
new_path = "/"
if path_parts.size > 2
new_path = new_path + path_parts[2]
end
env.redirect new_path
end
Crystal Lang
Bonus tip:
puts env.inspect
puts env.request.inspect