Index: sections.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/sections/sections.admin.inc,v
retrieving revision 1.3.2.16
diff -u -r1.3.2.16 sections.admin.inc
--- sections.admin.inc	13 Dec 2009 11:52:17 -0000	1.3.2.16
+++ sections.admin.inc	14 Dec 2009 00:27:46 -0000
@@ -88,6 +88,7 @@
   else {
     $options = array(t('Show on every page except the listed pages.'), t('Show on only the listed pages.'));
     $description = t("Enter one page per line as Drupal paths. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array('%blog' => 'blog', '%blog-wildcard' => 'blog/*', '%front' => '<front>'));
+    $description .= ' '. t('Absolute URLs like %url and %url-wildcard can be used for domain based sections.', array('%url' => 'http://example.org/blog', '%url-wildcard' => 'http://example.net/blog/*'));
 
     if ($access) {
       $options[] = t('Show if the following PHP code returns <code>TRUE</code> (PHP-mode, experts only).');
Index: sections.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/sections/sections.module,v
retrieving revision 1.21.2.22
diff -u -r1.21.2.22 sections.module
--- sections.module	13 Dec 2009 23:16:46 -0000	1.21.2.22
+++ sections.module	14 Dec 2009 00:27:46 -0000
@@ -259,6 +259,18 @@
         if ($path != $_GET['q']) {
           $page_match = $page_match || drupal_match_path($_GET['q'], $row->path);
         }
+
+        // Evaluate the full URI, to see if that matches, but
+        // only if the $row path contains at least one :// (full URI) entry
+        if (strpos($row->path, '://') !== FALSE) {
+          $uri = url($path, array('absolute' => TRUE));
+          $page_match = $page_match || drupal_match_path($uri, $row->path);
+          if ($path != $_GET['q']) {
+            $uri = url($_GET['q'], array('absolute' => TRUE));
+            $page_match = $page_match || drupal_match_path($_GET['q'], $row->path);
+          }
+        }
+
         // When $row->visibility has a value of 0, the block is displayed on
         // all pages except those listed in $row->path. When set to 1, it
         // is displayed only on those pages listed in $row->path.
