Skip to content

Commit 74f21d8

Browse files
author
ncomputers.org
committed
seo_redirects improved
1 parent 2525d97 commit 74f21d8

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

server/plugins-available/apache2_plugin.inc.php

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3440,37 +3440,35 @@ private function get_seo_redirects($web, $prefix = ''){
34403440
if(substr($web['domain'], 0, 2) === '*.') $web['subdomain'] = '*';
34413441

34423442
if($web['subdomain'] == 'www' || $web['subdomain'] == '*'){
3443+
$domain = str_replace('.', '\.', $web['domain']);
34433444
if($web['seo_redirect'] == 'non_www_to_www'){
3444-
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = str_replace('.', '\.', $web['domain']);
3445+
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = $domain;
34453446
$seo_redirects[$prefix.'seo_redirect_target_domain'] = 'www.'.$web['domain'];
34463447
$seo_redirects[$prefix.'seo_redirect_operator'] = '';
34473448
}
34483449
if($web['seo_redirect'] == '*_domain_tld_to_www_domain_tld'){
3449-
// ^(example\.com|(?!\bwww\b)\.example\.com)$
3450-
// ^(example\.com|((?:\w+(?:-\w+)*\.)*)((?!www\.)\w+(?:-\w+)*)(\.example\.com))$
3451-
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = '('.str_replace('.', '\.', $web['domain']).'|((?:\w+(?:-\w+)*\.)*)((?!www\.)\w+(?:-\w+)*)(\.'.str_replace('.', '\.', $web['domain']).'))';
3450+
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = $domain.'|.*\.'.$domain.'(?<!^www\.'.$domain.')';
34523451
$seo_redirects[$prefix.'seo_redirect_target_domain'] = 'www.'.$web['domain'];
34533452
$seo_redirects[$prefix.'seo_redirect_operator'] = '';
34543453
}
34553454
if($web['seo_redirect'] == '*_to_www_domain_tld'){
3456-
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = 'www\.'.str_replace('.', '\.', $web['domain']);
3455+
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = 'www\.'.$domain;
34573456
$seo_redirects[$prefix.'seo_redirect_target_domain'] = 'www.'.$web['domain'];
34583457
$seo_redirects[$prefix.'seo_redirect_operator'] = '!';
34593458
}
34603459
}
34613460
if($web['seo_redirect'] == 'www_to_non_www'){
3462-
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = 'www\.'.str_replace('.', '\.', $web['domain']);
3461+
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = 'www\.'.$domain;
34633462
$seo_redirects[$prefix.'seo_redirect_target_domain'] = $web['domain'];
34643463
$seo_redirects[$prefix.'seo_redirect_operator'] = '';
34653464
}
34663465
if($web['seo_redirect'] == '*_domain_tld_to_domain_tld'){
3467-
// ^(.+)\.example\.com$
3468-
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = '(.+)\.'.str_replace('.', '\.', $web['domain']);
3466+
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = '.*\.'.$domain;
34693467
$seo_redirects[$prefix.'seo_redirect_target_domain'] = $web['domain'];
34703468
$seo_redirects[$prefix.'seo_redirect_operator'] = '';
34713469
}
34723470
if($web['seo_redirect'] == '*_to_domain_tld'){
3473-
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = str_replace('.', '\.', $web['domain']);
3471+
$seo_redirects[$prefix.'seo_redirect_origin_domain'] = $domain;
34743472
$seo_redirects[$prefix.'seo_redirect_target_domain'] = $web['domain'];
34753473
$seo_redirects[$prefix.'seo_redirect_operator'] = '!';
34763474
}

0 commit comments

Comments
 (0)