我想使用 Sinatra 路由进行重定向并显示重定向消息。所以
http://api.mysite.com/product/123.html 会这样做
redirect product.url, 301
和输出
"redirecting..."
这可能吗,代码会是什么样子?
来自 Sinatra 文档 for redirect
:
任何其他参数的处理方式都类似于传递给
halt
的参数:redirect to('/bar'), 303 redirect 'http://google.com', 'wrong place, buddy'
对于halting
:
您还可以在停止时指定状态:
halt 410
或身体:
halt 'this will be the body'
或两者兼而有之:
halt 401, 'go away!'
所以你可以做到:
redirect product.url, 301, "redirecting..."
尽管HTTP规范说:
。响应的实体应包含一个简短的超文本注释,其中包含指向新 URI 的超链接。
所以你可能想做:
redirect product.url, 301, "redirecting to #{product.url}..."