Symfony2无前缀路由

Symfony2无前缀路由,symfony,routes,Symfony,Routes,在我的Symfony项目中,我有: example.com/用户/username=>转到用户配置文件 example.com/博客/theweathertoday=>转到动态页面博文博客 example.com/whoarewe=>在routig.yml中定义的静态页面 我想实施: example.com/username=>转到用户配置文件 example.com/theweathertoday=>转到动态页面博文 example.com/whoarewe=>静态页面 你能告诉我什么是最好的

在我的Symfony项目中,我有:

  • example.com/用户/username=>转到用户配置文件
  • example.com/博客/theweathertoday=>转到动态页面博文博客
  • example.com/whoarewe=>在routig.yml中定义的静态页面
  • 我想实施:

  • example.com/username=>转到用户配置文件
  • example.com/theweathertoday=>转到动态页面博文
  • example.com/whoarewe=>静态页面
  • 你能告诉我什么是最好的方式:

    • 将用户从博客文章与网站页面分开?(控制器、服务等)
    • 如何确保用户不使用受限制的名称注册,如routing.yml中定义的“whoarewe”

    最好的方法是什么?

    要将example.com/user/username更改为example.com/username,我认为您只需删除其中一个routing.yml文件中的/user。与/blog相同。这些文件可以在te Resources/config目录或app/config目录中的捆绑目录下找到。

    要将example.com/user/username更改为example.com/username,我认为您只需删除其中一个/user路由.yml文件中的/user。与/blog相同。这些文件可以在te Resources/config目录或app/config目录的Bundle目录下找到。

    路由.yml文件只是加载路由的一种方法,但也有一些方法。你可能需要的一种方法是

    由于路由加载器被定义为服务,因此您可以向其中注入其他服务,例如用户名检查器,它也可以由验证新用户注册的应用程序部分重新使用

    如果不这样做,您需要将所有匹配
    ^/[^/]+
    的流量路由到一种中间前端控制器,该控制器将接受匹配的参数并决定如何转发它


    您的问题的完整答案将是相当多的工作,但希望这能让您从正确的方向开始。

    routing.yml文件只是加载路由的一种方法,但也有一些方法。你可能需要的一种方法是

    由于路由加载器被定义为服务,因此您可以向其中注入其他服务,例如用户名检查器,它也可以由验证新用户注册的应用程序部分重新使用

    如果不这样做,您需要将所有匹配
    ^/[^/]+
    的流量路由到一种中间前端控制器,该控制器将接受匹配的参数并决定如何转发它


    您的问题的完整答案将是相当多的工作,但希望这能让您朝着正确的方向开始。

    我不理解您所说的,但这并不能解决三种页面之间的冲突。例如,一个名为“whoarewe”的用户将与页面“whoarewe”保持一致,如果用户名和天气状况是今天的,那么这是不可能的。但是可以改变顺序:example.com/{username}/useri不理解您所说的内容,但这并不能解决这三种页面之间的冲突。例如,一个名为“whoarewe”的用户将与页面“whoarewe”保持一致,如果用户名和天气状况是今天的,那么这是不可能的。但是可以改变顺序:example.com/{username}/useri不理解您所说的内容,但这并不能解决这三种页面之间的冲突。例如,一个名为“whoarewe”的用户将与页面“whoarewe”保持一致,如果用户名和天气状况是今天的,那么这是不可能的。但是可以更改顺序:example.com/{username}/user