我已经安装FOSUserBundle,我想自定义URL中/account/login,/account/register,/account/logout而不是/login,/register,/logout
/account/login
/account/register
/account/logout
/login
/register
/logout
我知道我可以修改分发包的路由配置,但这似乎不是正确的方法。
您可以通过 在* 导入FOSUserBundle的XML路由作为资源 后 重新声明 它来覆盖/register您的路由。app/config/routing.yml ***
app/config/routing.yml
fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register # ... fos_user_registration_register: path: /account/register defaults: { _controller: FOSUserBundle:Registration:register }
…或在导入时更改前缀:
fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /account/register # no need to override the route
这同样适用于/login和/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 }
登录和注销路径也可以直接在您的中配置app/config/security.yml:
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 # ...
您可以直接进行更改,然后将其包含在您的文件中app/config/routing.yml(然后无需将捆绑软件提供的文件作为资源导入)…或将它们全部放入一个文件中,并将其作为资源包含在其中…
# -> from @FOSUserBundle/Resources/routing/change_password.xml fos_user_change_password: pattern: /profile/password/change defaults: { _controller: FOSUserBundle:ChangePassword:changePassword } requirements: _method: GET|POST # -> from @FOSUserBundle/Resources/routing/group.xml fos_user_group_list: pattern: /groups/list defaults: { _controller: FOSUserBundle:Group:list } requirements: _method: GET fos_user_group_new: pattern: /groups/new pattern: defaults: { _controller: FOSUserBundle:Group:new } requirements: _method: GET fos_user_group_show: pattern: /groups/{groupname} defaults: { _controller: FOSUserBundle:Group:show } requirements: _method: GET fos_user_group_edit: pattern: /groups/{groupname}/edit defaults: { _controller: FOSUserBundle:Group:edit } requirements: _method: GET|POST fos_user_group_delete: pattern: /groups/{groupname}/delete defaults: { _controller: FOSUserBundle:Group:delete } requirements: _method: GET # -> from @FOSUserBundle/Resources/routing/profile.xml fos_user_profile_show: pattern: /profile/show defaults: { _controller: FOSUserBundle:Profile:show } requirements: _method: GET fos_user_profile_edit: pattern: /profile/edit defaults: { _controller: FOSUserBundle:Profile:edit } requirements: _method: GET|POST # -> from @FOSUserBundle/Resources/routing/registration.xml fos_user_registration_register: pattern: /registration defaults: { _controller: FOSUserBundle:Registration:register } requirements: _method: GET|POST fos_user_registration_check_email: pattern: /registration/check-email defaults: { _controller: FOSUserBundle:Registration:checkEmail } requirements: _method: GET fos_user_registration_confirm: pattern: /registration/confirm/{token} defaults: { _controller: FOSUserBundle:Registration:confirm } requirements: _method: GET fos_user_registration_confirmed: pattern: /registration/confirmed defaults: { _controller: FOSUserBundle:Registration:confirmed } requirements: _method: GET # -> from @FOSUserBundle/Resources/routing/resetting.xml fos_user_resetting_request: pattern: /profile/password/reset defaults: { _controller: FOSUserBundle:Resetting:request } requirements: _method: GET fos_user_resetting_send_email: pattern: /profile/password/reset defaults: { _controller: FOSUserBundle:Resetting:sendEmail } requirements: _method: POST fos_user_resetting_check_email: pattern: /profile/password/reset/check-email defaults: { _controller: FOSUserBundle:Registration:checkEmail } requirements: _method: GET fos_user_resetting_reset: pattern: /profile/password/reset/{token} defaults: { _controller: FOSUserBundle:Registration:reset } requirements: _method: GET|POST # -> from @FOSUserBundle/Resources/routing/security.xml fos_user_security_login: pattern: /login defaults: { _controller: FOSUserBundle:Security:login } requirements: _method: GET|POST fos_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