0

我想使用 Sinatra 路由进行重定向并显示重定向消息。所以

http://api.mysite.com/product/123.html会这样做

redirect product.url, 301

与输出

"redirecting..."

这可能吗,代码会是什么样子?

4

1 回答 1

0

来自Sinatra 的文档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}..."
于 2013-09-21T20:01:24.993 回答