From e34fec13567f76f1a052362c071bd7e1a85dd7cf Mon Sep 17 00:00:00 2001 From: ftimme <ft@falkotimme.com> Date: Thu, 08 Nov 2012 08:52:13 -0500 Subject: [PATCH] - Added more options to the SEO Redirect field. --- server/plugins-available/nginx_plugin.inc.php | 35 +++++++++++++++++++++++++++++++---- 1 files changed, 31 insertions(+), 4 deletions(-) diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index 7f88410..68e8c6e 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -920,15 +920,42 @@ } // Set SEO Redirect - if($data['new']['seo_redirect'] != '' && ($data['new']['subdomain'] == 'www' || $data['new']['subdomain'] == '*')){ + if($data['new']['seo_redirect'] != ''){ $vhost_data['seo_redirect_enabled'] = 1; - if($data['new']['seo_redirect'] == 'non_www_to_www'){ - $vhost_data['seo_redirect_origin_domain'] = $data['new']['domain']; - $vhost_data['seo_redirect_target_domain'] = 'www.'.$data['new']['domain']; + if($data['new']['subdomain'] == 'www' || $data['new']['subdomain'] == '*'){ + if($data['new']['seo_redirect'] == 'non_www_to_www'){ + $vhost_data['seo_redirect_origin_domain'] = $data['new']['domain']; + $vhost_data['seo_redirect_target_domain'] = 'www.'.$data['new']['domain']; + $vhost_data['seo_redirect_operator'] = '='; + } + if($data['new']['seo_redirect'] == '*_domain_tld_to_www_domain_tld'){ + // ^(example\.com|(?!\bwww\b)\.example\.com)$ + // ^(example\.com|((?:\w+(?:-\w+)*\.)*)((?!www\.)\w+(?:-\w+)*)(\.example\.com))$ + $vhost_data['seo_redirect_origin_domain'] = '^('.str_replace('.', '\.', $data['new']['domain']).'|((?:\w+(?:-\w+)*\.)*)((?!www\.)\w+(?:-\w+)*)(\.'.str_replace('.', '\.', $data['new']['domain']).'))$'; + $vhost_data['seo_redirect_target_domain'] = 'www.'.$data['new']['domain']; + $vhost_data['seo_redirect_operator'] = '~*'; + } + if($data['new']['seo_redirect'] == '*_to_www_domain_tld'){ + $vhost_data['seo_redirect_origin_domain'] = 'www.'.$data['new']['domain']; + $vhost_data['seo_redirect_target_domain'] = $vhost_data['seo_redirect_origin_domain']; + $vhost_data['seo_redirect_operator'] = '!='; + } } if($data['new']['seo_redirect'] == 'www_to_non_www'){ $vhost_data['seo_redirect_origin_domain'] = 'www.'.$data['new']['domain']; $vhost_data['seo_redirect_target_domain'] = $data['new']['domain']; + $vhost_data['seo_redirect_operator'] = '='; + } + if($data['new']['seo_redirect'] == '*_domain_tld_to_domain_tld'){ + // ^(.+)\.example\.com$ + $vhost_data['seo_redirect_origin_domain'] = '^(.+)\.'.str_replace('.', '\.', $data['new']['domain']).'$'; + $vhost_data['seo_redirect_target_domain'] = $data['new']['domain']; + $vhost_data['seo_redirect_operator'] = '~*'; + } + if($data['new']['seo_redirect'] == '*_to_domain_tld'){ + $vhost_data['seo_redirect_origin_domain'] = $data['new']['domain']; + $vhost_data['seo_redirect_target_domain'] = $vhost_data['seo_redirect_origin_domain']; + $vhost_data['seo_redirect_operator'] = '!='; } } else { $vhost_data['seo_redirect_enabled'] = 0; -- Gitblit v1.9.1