Redirect Phoenix:未找到路由的默认路径
让我们来看一个基本路由器:Redirect Phoenix:未找到路由的默认路径,redirect,elixir,phoenix-framework,router,Redirect,Elixir,Phoenix Framework,Router,让我们来看一个基本路由器: ... scope "/", Backend do pipe_through [:browser, :with_session] get "/", PageController, :index end ... 调用提升默认值“Phoenix.Router.NoroutError”。 处理这种情况的最佳方法是什么? 离开默认的phoenix错误页面? 重定向到索引页? 重定向到未找到的自定义页面 如何将任何未知路由重定向到单个路径 处理这种情况的最佳方法是什
...
scope "/", Backend do
pipe_through [:browser, :with_session]
get "/", PageController, :index
end
...
调用提升默认值“Phoenix.Router.NoroutError”。
处理这种情况的最佳方法是什么?
离开默认的phoenix错误页面?
重定向到索引页?
重定向到未找到的自定义页面
如何将任何未知路由重定向到单个路径
处理这种情况的最佳方法是什么
没有最好的办法。我个人更喜欢在同一个URL上显示404消息,这样,如果用户输入错误,他们就可以编辑和修复URL,而不必再次重新键入准确的URL,如果站点将无效URL重定向到某个地方,他们就必须这样做
如果仍要重定向,可以在作用域块的末尾创建一个“全部捕获”路由和一个简单控制器:
# Controller
defmodule MyApp.FourOhFour do
use MyApp.Web, :controller
def index(conn, _params) do
redirect(conn, to: "/404")
end
end
# Route
scope "/", MyApp do
get "/*path", FourOhFour, :index
end
上述操作将所有未知GET请求重定向到/404
。确保此路线在您所有的get
呼叫后到达
处理这种情况的最佳方法是什么
没有最好的办法。我个人更喜欢在同一个URL上显示404消息,这样,如果用户输入错误,他们就可以编辑和修复URL,而不必再次重新键入准确的URL,如果站点将无效URL重定向到某个地方,他们就必须这样做
如果仍要重定向,可以在作用域块的末尾创建一个“全部捕获”路由和一个简单控制器:
# Controller
defmodule MyApp.FourOhFour do
use MyApp.Web, :controller
def index(conn, _params) do
redirect(conn, to: "/404")
end
end
# Route
scope "/", MyApp do
get "/*path", FourOhFour, :index
end
上述操作将所有未知GET请求重定向到/404
。确保此路线在您所有的get
呼叫后到达