我有以下重写规则:
LiftRules.statelessRewrite.prepend(NamedPF("AppRewrite") {
case RewriteRequest(
ParsePath(List("room", room, user), _, _, _), _, _) =>
RewriteResponse(List("room"),
Map("room" -> room, "user" -> user)
)
})
允许我这样做
http://xx.xx.xx.xx/room/[room_id]/[user_id]
加载的html页面位于webapp根目录中(例如webapp / room.html)
我要做的是在房间之后添加另一个参数,所以我可以
http://xx.xx.xx.xx/room/[page_id]/[room_id]/[user_id]
但是,不是在webapp根目录中加载room.html,而是使用page_id在名为pages的子文件夹中加载页面。
所以我可以
http://xx.xx.xx.xx/room/join/[room_id]/[user_id]
哪个会加载
webapp/pages/room/join.html
提前感谢您的帮助,非常感谢:)
答案 0 :(得分:0)
如果您只是询问如何将/room/join/[room_id]/[user_id]
重写为/pages/room/join.html
,那么请按照您开始使用的相同网址重写模式进行操作。
... // (in the same statlessRewrite.prepend block)
case RewriteRequest(
ParsePath( List("room", "join", roomId, userId), _, _, _), _, _) =>
RewriteResponse(List("pages", "room", "join"),
Map("roomId" -> roomId, "userId" -> userId)
)
您可能还需要在网站地图中添加“/pages/room/join.html”。
答案 1 :(得分:0)
您应该只需为重写添加一个新案例:
LiftRules.statelessRewrite.prepend(NamedPF("AppRewrite") {
case RewriteRequest(
ParsePath(List("room", room, user), _, _, _), _, _) =>
RewriteResponse(List("room"),
Map("room" -> room, "user" -> user)
)
case RewriteRequest(
ParsePath(List("room", page, room, user), _, _, _), _, _) =>
RewriteResponse(List("pages", "room", page),
Map("room" -> room, "user" -> user)
)
})