我遇到了一个相当奇怪的问题。Symfony - 404总是重定向到登录页面而不是显示自定义404页面
我的整个应用程序默认紧固(在apps /前端/配置/ security.yml文件)
在我的设置,我已经(删除CSRF令牌,check_lock等,这是不相关):
all:
.settings:
error_404_module: user
error_404_action: 404
use_security: on
login_module: user
login_action: login
在用户模块的security.yml文件我有:
404Success:
is_secure: false
在发展中,如果我去到一个无效的网址,我会得到标准的symfony调试页面说法:
404 | Not Found | sfError404Exception Empty module and/or action after parsing the URL
“/ blahblahfhfjhjdhdshdus”(/)。
但是,在制作过程中,我将以的登录页面显示每无效的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的动作,即使我为这个行为过度了全球security.yml。
任何想法?
谢谢!
啊,当然!它只在viewSuite中放置actionSuccess。谢谢。 – Flukey 2011-06-15 11:57:15