2010-11-01 4 views
0

Я хотел бы получить некоторую помощь с этимRegex решение для WWW и без WWW домена

Рабочий код: регулярное выражение, чтобы соответствовать xxx.domain.com

$HTTP["host"] =~ "^[^.]+\.domain\.com$" { 
    evhost.path-pattern = vhosts_dir + "/company/domain.com/subdomains/%3/" 
} 

Www не работает: (регулярное выражение для соответствия домена .com работает)

else $HTTP["host"] =~ "^([^.]+\.)?domain\.com$" { 
evhost.path-pattern = vhosts_dir + "/company/domain.com/public/" 
} 

Как я могу заставить www работать со вторым примером кода?

^(^ |. WWW) example.com $

Благодаря

Magnus

+0

Что такое домен + после домена в вашем первом регулярном выражении? Это будет соответствовать domainnnnnn. Кроме того, вы потеряли привязку к началу строки^во втором примере. Это заставляет меня думать, что вы, возможно, случайно сделали ошибку, изменив ситуацию для вопроса о потоке Stackover - не могли бы вы проверить? –

+0

Теперь я изменил пример кода. Лучше? –

ответ

0

Просто соответствие \bdomain.com$ достаточно, вероятно, хорошо, если вы не беспокоиться о "bogus-domain.com" показ , Тогда вы можете написать ^(?:[^.]+\.)*domain\.com$.

У вас есть canonicalized для нижнего регистра?

+0

Спасибо, tchrist за код для предотвращения фиктивных доменов. Я никогда не знал об этом сценарии. Я новичок, что вы подразумеваете под канонизацией в нижнем регистре? –

+0

и ... возможно ли, чтобы www работал с вашим решением? –

+0

^(?: www | [^.] + \.) * Domain \ .com $ –

Смежные вопросы