How to customize FOS UserBundle URLs
How to override / change FOSUserBundle's routes
You can override i.e the /register
route in your app/config/routing.yml
by re-declaring it after importing FOSUserBundle's XML routes as resources.
fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register# ...fos_user_registration_register: path: /account/register defaults: { _controller: FOSUserBundle:Registration:register }
... or just change the prefix when importing:
fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /account/register# no need to override the route
The same goes for /login
and /logout
:
fos_user_security: resource: "@FOSUserBundle/Resources/config/routing/security.xml"# ...fos_user_security_login: path: /account/login defaults: { _controller: FOSUserBundle:Security:login, _method: POST }fos_user_security_logout: path: /account/login defaults: { _controller: FOSUserBundle:Security:logout, _method: POST }
Another way to override login and logout url's
login and logout paths can aswell be configured directly in your app/config/security.yml
:
security: firewalls: your_firewall: # ... form_login: login_path: /account/login # instead of fos_user_security_login # ... logout: path: /account/logout # instead of fos_user_security_logout # ...
List of all of FOSUserBundle's routes in YAML format
You can directly change and then include these in your app/config/routing.yml
( no need to import the ones the bundle provides as resources then) ... or put them all into a single file and include that one as a resource...
# -> from @FOSUserBundle/Resources/routing/change_password.xmlfos_user_change_password: pattern: /profile/password/change defaults: { _controller: FOSUserBundle:ChangePassword:changePassword } requirements: _method: GET|POST# -> from @FOSUserBundle/Resources/routing/group.xmlfos_user_group_list: pattern: /groups/list defaults: { _controller: FOSUserBundle:Group:list } requirements: _method: GETfos_user_group_new: pattern: /groups/new pattern: defaults: { _controller: FOSUserBundle:Group:new } requirements: _method: GETfos_user_group_show: pattern: /groups/{groupname} defaults: { _controller: FOSUserBundle:Group:show } requirements: _method: GETfos_user_group_edit: pattern: /groups/{groupname}/edit defaults: { _controller: FOSUserBundle:Group:edit } requirements: _method: GET|POSTfos_user_group_delete: pattern: /groups/{groupname}/delete defaults: { _controller: FOSUserBundle:Group:delete } requirements: _method: GET# -> from @FOSUserBundle/Resources/routing/profile.xmlfos_user_profile_show: pattern: /profile/show defaults: { _controller: FOSUserBundle:Profile:show } requirements: _method: GETfos_user_profile_edit: pattern: /profile/edit defaults: { _controller: FOSUserBundle:Profile:edit } requirements: _method: GET|POST# -> from @FOSUserBundle/Resources/routing/registration.xmlfos_user_registration_register: pattern: /registration defaults: { _controller: FOSUserBundle:Registration:register } requirements: _method: GET|POSTfos_user_registration_check_email: pattern: /registration/check-email defaults: { _controller: FOSUserBundle:Registration:checkEmail } requirements: _method: GETfos_user_registration_confirm: pattern: /registration/confirm/{token} defaults: { _controller: FOSUserBundle:Registration:confirm } requirements: _method: GETfos_user_registration_confirmed: pattern: /registration/confirmed defaults: { _controller: FOSUserBundle:Registration:confirmed } requirements: _method: GET# -> from @FOSUserBundle/Resources/routing/resetting.xmlfos_user_resetting_request: pattern: /profile/password/reset defaults: { _controller: FOSUserBundle:Resetting:request } requirements: _method: GETfos_user_resetting_send_email: pattern: /profile/password/reset defaults: { _controller: FOSUserBundle:Resetting:sendEmail } requirements: _method: POSTfos_user_resetting_check_email: pattern: /profile/password/reset/check-email defaults: { _controller: FOSUserBundle:Registration:checkEmail } requirements: _method: GETfos_user_resetting_reset: pattern: /profile/password/reset/{token} defaults: { _controller: FOSUserBundle:Registration:reset } requirements: _method: GET|POST# -> from @FOSUserBundle/Resources/routing/security.xmlfos_user_security_login: pattern: /login defaults: { _controller: FOSUserBundle:Security:login } requirements: _method: GET|POSTfos_user_security_check: pattern: /login_check defaults: { _controller: FOSUserBundle:Security:check }fos_user_security_logout: pattern: /logout defaults: { _controller: FOSUserBundle:Security:logout } requirements: _method: GET|POST