1

プロジェクトの onr に 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
4

3 に答える 3

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 エラー ページの場合は、ディレクトリerrorにディレクトリを作成し、その中にファイルapp/appname/configを配置しerror.html.phpます (完全な html ページ)。

404 エラー ページについては、このページ (500 エラー ページと同様) は、dev環境ではデバッグ ページで上書きされますが、環境では正しく表示されprodます。

于 2012-07-18T06:07:17.003 に答える
0

おそらく 404 アクションのセキュリティを解除する必要があります
: ここを参照してください: http://symfony-check.org/permalink/customize-the-oops-page-not-found-page

于 2012-07-17T18:02:16.927 に答える
0

これは、403 エラー ページをオーバーライドする正しい方法ではありません。とを使用secure_modulesecure_actionます。

于 2012-07-17T17:56:52.843 に答える