diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 1b5993a92c4b6692d2724b1a8a4675be1ab4c083..c4059e42c4ff49ad31495411a5ce9cc05691b28a 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -1513,8 +1513,14 @@ class apache2_plugin { } //* If we have some alias records - if($server_alias)) { - $tpl->setVar('alias', 'ServerAlias '.implode(' ',$server_alias)); + if($server_alias) { + //* begin a new ServerAlias line after 32 alias domains to avoid apache bugs + $server_alias_str = 'ServerAlias '.$server_alias[0]; + for($n=1;$nsetVar('alias', $server_alias_str); + unset($server_alias_str); + unset($n); } else { $tpl->setVar('alias', ''); } @@ -3440,37 +3446,35 @@ class apache2_plugin { if(substr($web['domain'], 0, 2) === '*.') $web['subdomain'] = '*'; if($web['subdomain'] == 'www' || $web['subdomain'] == '*'){ + $domain = str_replace('.', '\.', $web['domain']); if($web['seo_redirect'] == 'non_www_to_www'){ - $seo_redirects[$prefix.'seo_redirect_origin_domain'] = str_replace('.', '\.', $web['domain']); + $seo_redirects[$prefix.'seo_redirect_origin_domain'] = $domain; $seo_redirects[$prefix.'seo_redirect_target_domain'] = 'www.'.$web['domain']; $seo_redirects[$prefix.'seo_redirect_operator'] = ''; } if($web['seo_redirect'] == '*_domain_tld_to_www_domain_tld'){ - // ^(example\.com|(?!\bwww\b)\.example\.com)$ - // ^(example\.com|((?:\w+(?:-\w+)*\.)*)((?!www\.)\w+(?:-\w+)*)(\.example\.com))$ - $seo_redirects[$prefix.'seo_redirect_origin_domain'] = '('.str_replace('.', '\.', $web['domain']).'|((?:\w+(?:-\w+)*\.)*)((?!www\.)\w+(?:-\w+)*)(\.'.str_replace('.', '\.', $web['domain']).'))'; + $seo_redirects[$prefix.'seo_redirect_origin_domain'] = $domain.'|.*\.'.$domain.'(?