Php Zend 2路由主机名正则表达式
我想通过Zend 2中的路由类型主机名捕获我的(可选)子域和域 我不擅长调节,找不到能正常工作的东西Php Zend 2路由主机名正则表达式,php,regex,zend-framework2,hostname,Php,Regex,Zend Framework2,Hostname,我想通过Zend 2中的路由类型主机名捕获我的(可选)子域和域 我不擅长调节,找不到能正常工作的东西 'type' => 'Hostname', 'options' => array( 'route' => '[:subdomain.]:project_domain', 'constraints' => array( 'subdomain' => '??REGEX??', 'project_domain'
'type' => 'Hostname',
'options' => array(
'route' => '[:subdomain.]:project_domain',
'constraints' => array(
'subdomain' => '??REGEX??',
'project_domain' => '??REGEX??',
),
),
'may_terminate' => false,
例1:
www.domain.tld=>subdomain=www;project\u domain=domain.tld
例2:
test.www.domain.tld=>subdomain=test;项目\域=www.domain.tld
例3:
domain.tld=>project\u domain=domain.tld
如果有人能帮我这2个正则表达式模式,谢谢 我的结局是:
'type' => 'Hostname',
'options' => array(
'route' => '[:subdomain.]:project_domain',
'constraints' => array(
'subdomain' => '([a-zA-Z0-9-]+)?([^.])',
'project_domain' => '(([a-zA-Z0-9-]+)\.)+([a-zA-Z0-9]+)',
),
),
它适用于我的用例:
- test.domain.tld
- domain.tld
- test1.sub.domain.tld
- asd-asd.sub.do-main.tld
谢谢。阅读本文时,似乎只有在您想筛选子域匹配项时才需要约束正则表达式。您想要什么约束?示例1:www.domain.tld=>subdomain=www;project_domain=domain.tld;;;;示例2:test.www.domain.tld=>subdomain=test;项目\域=www.domain.tld