【问题标题】:403 Error page not showing in SymfonySymfony 中未显示 403 错误页面
【发布时间】:2012-07-17 12:46:08
【问题描述】:

我在我的项目中使用 Symfony 1.4 并且需要显示自定义 403 错误页面。我在 settings.yml 中给出了以下内容

 .actions:
    error_404_module: errors
    error_404_action: error404
    error_500_module: errors
    error_500_action: error500
    error_403_module: errors
    error_403_action: error403

我也有错误模块和相应的错误成功页面。但它没有显示自定义错误页面。在某些情况下,例如: 404 它正在显示调试页面。返回 403 页面,并带有默认的禁止错误消息。我的动作文件如下:

class errorsActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
    //$this->forward('default', 'module');
  }

  public function executeError404(sfWebRequest $request)
  {
  }

  public function executeError500(sfWebRequest $request)
  {
  }
  public function executeError403(sfWebRequest $request)
  {
  }
}

编辑:添加 settings.yml 修改

  .actions:
    error_404_module: errors
    error_404_action: error404
    error_500_module: errors
    error_500_action: error500
    secure_module: errors
    secure_action: error403

【问题讨论】:

    标签: symfony1 symfony-1.4


    【解决方案1】:

    在你的情况下 settings.yml 应该是:

    all:
      .actions:
        # page not found
        error_404_module:       errors     # module "errors"
        error_404_action:       error404   # action "executeError404"
    
        # 403 credential required
        secure_module:          errors     # module "errors"
        secure_action:          error403   # action "executeError403"
    

    对于 500 错误页面,在您的 app/appname/config 目录中创建一个目录 error 并在其中放入一个 error.html.php 文件(一个完整的 html 页面)。

    关于 404 错误页面,此页面(类似于 500 错误页面)在 dev 环境中会被调试页面覆盖,但在 prod 环境中会正确显示。

    【讨论】:

    • 你在prod环境下测试过吗?
    【解决方案2】:

    这不是覆盖 403 错误页面的正确方法。使用secure_modulesecure_action

    【讨论】:

    • 请将您编辑的 settings.yml 的相关部分放入您的问题中。它应该工作,所以你没有正确地做。
    • 我现在添加了。也禁用了ivoba提到的安全设置
    【解决方案3】:

    您可能需要取消 404 操作的安全性:
    看这里:http://symfony-check.org/permalink/customize-the-oops-page-not-found-page

    【讨论】:

      猜你喜欢
      • 2013-08-04
      • 1970-01-01
      • 2013-07-13
      • 2014-03-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-11
      • 2021-08-11
      • 2020-01-21
      相关资源
      最近更新 更多