Symfony1 Symfony-404总是重定向到登录页面,而不是显示自定义404页面

Symfony1 Symfony-404总是重定向到登录页面,而不是显示自定义404页面,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我遇到了一个相当奇怪的问题 默认情况下,我的整个应用程序是安全的(在apps/frontend/config/security.yml文件中) 在我的设置中,我已经(删除了csrf令牌、检查锁定等,因为它不相关): 在用户模块的security.yml文件中,我有: 404Success: is_secure: false 在开发过程中,如果我转到一个无效的url,我会得到标准的symfony调试页面,上面说: “/blahblahfjhjdhdshdus”(/) 但是,在生产过程中,我会

我遇到了一个相当奇怪的问题

默认情况下,我的整个应用程序是安全的(在apps/frontend/config/security.yml文件中)

在我的设置中,我已经(删除了csrf令牌、检查锁定等,因为它不相关):

在用户模块的security.yml文件中,我有:

404Success:
  is_secure: false
在开发过程中,如果我转到一个无效的url,我会得到标准的symfony调试页面,上面说:

“/blahblahfjhjdhdshdus”(/)

但是,在生产过程中,我会看到每个无效URL的登录页面

我只想显示我的自定义404错误页面

我查看了PHP错误日志,下面是我看到的:

> [Tue Jun 14 17:10:54 2011] [error]
> [client 129.42.32.32] Empty module
> and/or action after parsing the URL
> "//blahblahfhfjhjdhdshdus" (/). [Tue
> Jun 14 17:10:54 2011] [error] [client
> 129.42.32.32] PHP Fatal error:  Uncaught exception 'sfStopException'
> in
> /srv/www/foo.bar/lib/vendor/symfony/1.4/lib/filter/sfBasicSecurityFilter.class.php:96\nStack
> trace:\n#0
> /srv/www/foo.bar/lib/vendor/symfony/1.4/lib/filter/sfBasicSecurityFilter.class.php(55):
> sfBasicSecurityFilter->forwardToLoginAction()\n#1
> /srv/www/foo.bar/cache/frontend/prod/config/config_core_compile.yml.php(1026):
> sfBasicSecurityFilter->execute(Object(sfFilterChain))\n#2
> /srv/www/foo.bar/cache/frontend/prod/config/config_core_compile.yml.php(990):
> sfFilterChain->execute()\n#3
> /srv/www/foo.bar/cache/frontend/prod/config/config_core_compile.yml.php(1026):
> sfRenderingFilter->execute(Object(sfFilterChain))\n#4
> /srv/www/foo.bar/cache/frontend/prod/config/config_core_compile.yml.php(660):
> sfFilterChain->execute()\n#5
> /srv/www/foo.bar/lib/vendor/symfony/1.4/lib/exception/sfError404Exception.class.php(49):
> sfController->forward('user', 404)\n#6
> /srv/www/foo.bar/c in
> /srv/www/foo.bar/lib/vendor/symfony/1.4/lib/filter/sfBasicSecurityFilter.class.php
> on line 96
正如您所能看到的,安全过滤器正在拦截404操作(用词不当),尽管我对该操作的global security.yml进行了过度处理

有什么想法吗

谢谢

找到了解决方案:

有点奇怪,但它奏效了

在我的user security.yml中,我必须改变这一点:

404Success:
  is_secure: false
为此:

all:
  is_secure: false
这不是一个真正的问题,因为我在用户模块中只有登录和404操作……但是我很惊讶我不得不关闭整个模块的安全性,而不仅仅是关闭404操作的安全性。不太清楚为什么它忽略了“成功”。奇怪….

找到了解决方案:

有点奇怪,但它奏效了

在我的user security.yml中,我必须改变这一点:

404Success:
  is_secure: false
为此:

all:
  is_secure: false

这不是一个真正的问题,因为我在用户模块中只有登录和404操作……但是我很惊讶我不得不关闭整个模块的安全性,而不仅仅是关闭404操作的安全性。不太清楚为什么它忽略了“成功”。奇怪……

问题是动作是404,而不是404成功。试一试

404:
  is_secure: false

success是symfony返回的默认视图。

问题在于操作是404,而不是404Success。试一试

404:
  is_secure: false

成功是symfony返回的默认视图。

当使用默认symfony 404时-这对我很有效(错误不再显示在apache错误日志中)

  • 创建文件夹“apps/frontend/modules/default/config”
  • 创建“settings.yml”
  • 添加以下行:

    error404:
      is_secure: false
    

  • 当使用默认的symfony 404时,这对我来说很有效(错误不再显示在apache错误日志中)

  • 创建文件夹“apps/frontend/modules/default/config”
  • 创建“settings.yml”
  • 添加以下行:

    error404:
      is_secure: false
    

  • 啊,当然!它只在视图中。yml你把actionSuccess放在这里。谢谢。啊,当然!它只在视图中。yml你把actionSuccess放在这里。谢谢