首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用铅笔蓝从嵌套站点重定向url?

如何用铅笔蓝从嵌套站点重定向url?
EN

Stack Overflow用户
提问于 2017-08-04 04:53:42
回答 1查看 53关注 0票数 1

我想要301从以前的站点重定向嵌套的URL,因为pencilblue不支持它们,

例如a/b to page/b

为此,我一直在include/http/request_handler.js上做实验,但也面临一些问题。

调用永远不会出现在RequestHandler.prototype.handleRequest甚至RequestHandler.prototype.onSessionRetrieved中(似乎这些方法不是从任何地方调用的)

因此,我将代码放在RequestHandler中,在确认req不是用于公共资源或api之后,我创建一个新的url并执行

return this.doRedirect(newUrl, 301)

这实际上是可行的,但同时我收到

无法在标头被发送错误后呈现它们

#1075对我帮助不大,因为我不确定我应该修改哪个特定的控制器。我需要尽早捕获req,看看它是否是一个页面,然后重定向到页面前缀url。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-08-04 05:19:47

有几种方法可以重定向。您可以在控制器中间件中执行这些操作。您的正确之处在于,请求处理程序中的某些函数没有被调用。尽管pencilblue团队并没有将它们标记为这样,但这些都是不可取的。他们用/include/http/router.jsinclude/http/middleware/index.js替换了大量的请求处理程序功能。插件可以注册自己的中间件来劫持请求管道。

有关创建您自己的中间件的更多信息,请参见wiki上的高级路由

使用路由框架,您的插件将能够注册中间件,该中间件将能够检查请求,然后根据您的特定标准重定向。路由器可以从req.router访问,您可以在那里调用req.router.redirect (来源)。

参考资料:#1224

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45498499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档