Index: vars.php
===================================================================
--- vars.php	(revision 11591)
+++ vars.php	(working copy)
@@ -65,19 +65,25 @@
  * Whether the server software is Apache or something else
  * @global bool $is_apache
  */
-$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false);
+$is_apache = (preg_match('/(?:Apache|LiteSpeed)(?:\/(\d+(?:\.\d+)?))?/', $_SERVER['SERVER_SOFTWARE'], $apache_version) === 1);
 
 /**
  * Whether the server software is IIS or something else
  * @global bool $is_IIS
  */
-$is_IIS = (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'ExpressionDevServer') !== false);
+$is_IIS = (preg_match('/Microsoft-IIS(?:\/(\d+(?:\.\d+)?))?/', $_SERVER['SERVER_SOFTWARE'], $iis_version) === 1);
 
 /**
+ * Server version number
+ * @global float|null $server_version
+ */
+
+$server_version = (isset($apache_version[1]) ? (float)$apache_version[1] : (isset($iis_version[1]) ? (float)$iis_version[1] : null));
+
+/**
  * Whether the server software is IIS 7.X
  * @global bool $is_iis7
  */
-$is_iis7 = (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false);
+$is_iis7 = ($is_IIS === true && $server_version >= 7 && $server_version <8);
 
-
 ?>
\ No newline at end of file
