es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Symfony: enrutamiento con subdominio –> error 404

Soy un traductor de documentos de TI en español. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Soy nuevo en Symfony (5.3) y estoy tratando de usar el paquete EasyAdmin^3 y su controlador.

class DashboardController extends AbstractDashboardController
{
    /**
     * @Route("/admin", name="admin")
     */
    public function index(): Response
    {
        //return parent::index();
        $routeBuilder = $this->get(AdminUrlGenerator::class);
        $url = $routeBuilder->setController(BookCrudController::class)->generateUrl();
        return $this->redirect($url);
    }
}

public function configureDashboard(): Dashboard
{
 ...
}
....

En security.yaml, no hay control de acceso:
access_control:
        # - { path: ^/admin, roles: ROLE_ADMIN }

Lo intenté en mi computadora con

>symfony server:start -d
>symfony open:local

La URL http://127.0.0.1:8000/admin funciona

Pero en mi servidor https://subdomain.domain.com/admin no funciona (error 404).
Pero la ruta está configurada:

>php bin/console debug:router
admin                      ANY      ANY      ANY                             /admin

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándose en los fragmentos de código y la información proporcionada, parece que no se ha establecido ningún control de acceso en el archivo security.yaml, lo que podría estar causando el error 404 en el servidor.

    Para solucionar este problema, se puede agregar un control de acceso al archivo security.yaml para garantizar que solo los usuarios con el rol ROLE_ADMIN puedan acceder a la ruta /admin. Esto se puede hacer descomentando la siguiente línea en el archivo security.yaml:

    access_control:
        - { path: ^/admin, roles: ROLE_ADMIN }
    

    Después de realizar este cambio y limpiar la caché usando el comando php bin/console cache:clear, la ruta /admin debería ser accesible solo para usuarios con el rol ROLE_ADMIN.

    Si el problema persiste, otras posibles causas pueden incluir una configuración incorrecta del servidor o problemas con la configuración del host virtual, lo que puede requerir una investigación adicional.

Comments are closed.