Symfony路由主机正则表达式



我的Symfony项目中有一个路由,应该仅限于子域中包含特定单词的主机,域并不重要,它会有所不同。假设这个特定的词是"pre",所以我只希望像这样构建的主机(pre.anything.com,pre.anyhing2.co.uk,pre.aanything.us(访问特定的路由。有可能在符号路由中这样配置它吗?

路由。yaml

base_register:
path:     /register/
host:     "/pre/"
defaults: { _controller: AppControllerAppController::registerAction }

使用:

  • Symfony 4.2
  • PHP 7.2

您的用例类似于子域的文档:https://symfony.com/doc/4.1/routing/hostname_pattern.html#using-占位符

您可以使用以下配置:

base_register:
path:     /register/
host:     "pre.{domain}"
controller: AppControllerAppController::register
defaults:
domain: '%domain%'
requirements:
domain: '%domain%'

然后在parameters.yml中定义domain参数,在其中设置默认域。

在您的域需求中,您可以设置(.*)来捕获域和子域。

最新更新