我有以下路由:/,/ login,/ register等在开发环境中正常工作。
首先,当我尝试通过app.php而不是app_dev.php访问我的网站时出现404错误
然后我跟着this advice并清理了我的缓存。
但现在我得到一个空白屏幕,试图访问任何注册路线,如app.php /或app.php / login。
我在prod.log中找到了这条消息:
[2012-02-24 11:27:05] request.ERROR: Symfony\Component\HttpKernel\Exception\NotFoundHttpException: No route found for "GET /login" (uncaught exception) at /home/renat/www/ptracker/app/cache/prod/classes.php line 4564 [] []
这是我的routing.yml:
PtrackerTasksBundle:
resource: "@PtrackerTasksBundle/Resources/config/routing.yml"
prefix: /
PtrackerAuthBundle:
resource: "@PtrackerAuthBundle/Resources/config/routing.yml"
prefix: /
AuthBundle中的routing.yml:
homepage:
pattern: /
defaults: { _controller: PtrackerAuthBundle:Default:index }
register:
pattern: /register
defaults: { _controller: PtrackerAuthBundle:Default:register }
login:
pattern: /login
defaults: { _controller: PtrackerAuthBundle:Default:login }
activate:
pattern: /activate/{username}/{salt}
defaults: { _controller: PtrackerAuthBundle:Default:activate }
login_check:
pattern: /login_check
TasksBundle中的routing.yml:
tasks:
pattern: /tasks
defaults: { _controller: PtrackerTasksBundle:Default:index }
tasks_add:
pattern: /tasks/add
defaults: { _controller: PtrackerTasksBundle:Default:add }
tasks_view:
pattern: /tasks/view/{id}
defaults: { _controller: PtrackerTasksBundle:Default:view, id : null }
tasks_change_responsible:
pattern: /tasks/change_responsible/{id}/{responsible}
defaults: { _controller: PtrackerTasksBundle:Default:change_responsible, _format: json }
tasks_change_status:
pattern: /tasks/change_status/{id}/{status}
defaults: { _controller: PtrackerTasksBundle:Default:change_status, _format: json }
tasks_edit:
pattern: /tasks/edit/{id}
defaults: { _controller: PtrackerTasksBundle:Default:edit }
我错过了什么或我做错了什么?
答案 0 :(得分:12)
首先,在路由器的控制台列表中查看(命令router:debug
)。
如果你找到了你的路由器,那么在我的情况下清除缓存的一些麻烦我手动删除文件夹app/cache
并且它可以工作。
要设置没有缓存的PROD环境,请在文件app.php
中更改为
$kernel = new AppKernel('prod', true);
答案 1 :(得分:9)
尝试清除prod环境中的缓存。
php app/console cache:clear --env=prod --no-debug
答案 2 :(得分:0)
app/console cache:clear
or
active mod_rewrite in
activate the directory: nano /etc/apache2/apache2.conf
AllowOverride None
<Directory "/var/www/html">
AllowOverride None
</Directory>
for
<Directory "/var/www/html">
AllowOverride All
</Directory>
http://www.dev-metal.com/enable-mod_rewrite-ubuntu-14-04-lts/