Reputation: 317
I want to catch my (optional) subdomain and domain via the route type Hostname in Zend 2.
I'm bad at regexing and unable to find something working correctly.
'type' => 'Hostname',
'options' => array(
'route' => '[:subdomain.]:project_domain',
'constraints' => array(
'subdomain' => '??REGEX??',
'project_domain' => '??REGEX??',
),
),
'may_terminate' => false,
example 1 : www.domain.tld => subdomain = www ; project_domain = domain.tld
example 2 : test.www.domain.tld => subdomain = test ; project_domain = www.domain.tld
example 3 : domain.tld => project_domain = domain.tld
If someone can help me for this 2 regex patterns, thank you !
Upvotes: 1
Views: 324
Reputation: 317
I ended up with this:
'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]+)',
),
),
It works with my use cases :
If someone find something not working with, don't hesite to comment.
Thank you.
Upvotes: 1