如何拦截错误请求并重定向到自定义页面?

时间:2012-12-13 16:26:00

标签: redirect error-handling liferay liferay-6

以下是关于我想做什么的用例之一:

  1. 用户点击博客链接或直接粘贴网址
  2. 中的博客链接
  3. 博客portlet位于社区(站点)的私人页面上。
  4. 由于用户不是社区(网站)的成员,因此他将被带到错误页面。
  5. 显示的是404页面或无访问错误页面。
  6. 我的要求开始:现在,而不是显示上述网页或上述网页的自定义版本。
  7. 我想拦截404或其他此类请求的请求。
  8. 并根据用户的一些参数和初始请求参数重定向到门户页面(不是静态错误页面)。
  9. 在这种情况下,我希望用户重定向到同一社区(网站)的任何公共页面,并要求他加入或请求该社区(网站)的会员资格。
  10. 所以简而言之,我想要一种方法来拦截产生错误的请求,然后重定向到我想要的地方。

    这在liferay中可用吗?如果没有,我能否知道如何实现这一目标?

    环境: Liferay 6.1 GA2

    感谢您宝贵的时间。

2 个答案:

答案 0 :(得分:3)

添加JSP页面以管理404错误,如here in that Liferay's forum post所述。

在那个JSP中,您可以根据您可以使用例如themeDisplay从JSP内部访问的任何参数(用户,社区等)来放置您的自定义逻辑。对象

答案 1 :(得分:1)

另一种方法(以及我将404错误重定向到社区中特定页面的方式)是使用Hook覆盖404.jsp。然后将自定义逻辑添加到重写的JSP。

我假设可以为无法访问做类似的事情。