定义“/inicio”;由于主页或变通方法路由未进行配置


Define "/inicio" as homepage or workaround routes miss configuration

我有一个带有一些静态页面的网站,我在routing_pages.yml文件中定义如下:

index:
    pattern:  /inicio
    defaults: { template: 'FrontendBundle:Site:index.html.twig' }
contact_one:
    pattern:  /contact_one
    defaults: { template: 'FrontendBundle:Site:contact.html.twig' }
location:
    pattern:  /horario
    defaults: { template: 'FrontendBundle:Site:location.html.twig' }
payment:
    pattern:  /pagos
    defaults: { template: 'FrontendBundle:Site:payment.html.twig' }
question:
    pattern:  /preguntas
    defaults: { template: 'FrontendBundle:Site:question.html.twig' }
questionb:
    pattern:  /preguntasb
    defaults: { template: 'FrontendBundle:Site:questionb.html.twig' }
shipping:
    pattern:  /politicasenvio
    defaults: { template: 'FrontendBundle:Site:shipping.html.twig' }
warranties:
    pattern:  /garantias
    defaults: { template: 'FrontendBundle:Site:warranties.html.twig' }
ml:
    pattern:  /ml
    defaults: { template: 'FrontendBundle:Site:forms.html.twig' }

然后在主routing.yml文件中,我使用资源作为:

_paginas:
    resource: routing_pages.yml
    prefix:   /
    defaults:
        _controller: FrameworkBundle:Template:template

我在尝试访问/app_dev.php|app.php路由时遇到了一些问题,但出现了以下异常:

未找到"GET/"的路由

这是由于我在security.yml:的access_control上的配置

access_control:
    #Security Login/Register/Resetting
    - { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
    #Frontend Pages Routes
    - { path: ^/inicio, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/contact_one, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/horario, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/pagos, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/preguntas, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/preguntasb, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/politicasenvio, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/garantias, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/ml, role: IS_AUTHENTICATED_ANONYMOUSLY }
    #Login required
    - { path: ^/, role: ROLE_USER }
    - { path: ^/admin/, role: ROLE_ADMIN }

我喜欢做什么?因为堆叠页面不需要登录功能,只需要管理区域即可。我试着把这两条线改成

    - { path: ^/, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/admin/, role: ROLE_ADMIN }

但是当我访问`app_dev.php|app.php/admin时,我看不到登录表单,为什么?我该怎么解决?有什么建议吗?

如果我可以在某个地方或以某种方式将/inicio定义为homepage,那么问题就解决了,很难解决,但我不知道如何解决。

您可以在路由表中定义从"/"到"/incio"的重定向:

# redirecting the root
root:
    path: /
    defaults:
        _controller: FrameworkBundle:Redirect:urlRedirect
        path: /inicio
        permanent: true

src:http://symfony.com/doc/current/cookbook/routing/redirect_in_config.html