diff --git a/wp-nginx-map.php b/wp-nginx-map.php index f01c18f79f57b9890c021016e6d8d3265a1cfdef..ec241f080fc7f6b8bccc7a1761b1b31b2d154f62 100644 --- a/wp-nginx-map.php +++ b/wp-nginx-map.php @@ -33,13 +33,11 @@ function backend_to_http_endpoint($backend) { } // Print the blog -> backend map. -function generate_map() { +function generate_backend_map($blogs) { global $wpdb; global $noblogs_master; $wpdb_hash = &$wpdb->hash_map; - $blogs = get_blogs(); - printline('map $http_host $backend_noblogs {'); printline(' default http://' . $noblogs_master . ':82;'); foreach ($blogs as $blog) { @@ -53,5 +51,24 @@ function generate_map() { printline('}'); } +// Print the blog -> site map. +// This is used to send apache the right site name for logging purposes. +function generate_site_map($blogs) { + printline('map $http_host $site_noblogs {'); + printline(' default noblogs.org;'); + foreach ($blogs as $blog) { + $blog_id = $blog->blog_id; + if ($blog_id == 1) + continue; + printline(' ' . $blog->domain . ' ' . $blog->domain . ';'); + } + printline('}'); +} + +function generate_maps() { + $all_blogs = get_blogs(); + generate_backend_map($all_blogs); + generate_site_map($all_blogs); +} -generate_map(); +generate_maps();