From 5627186c2f8b450460892f0247dbbb5f8d4369b4 Mon Sep 17 00:00:00 2001
From: Andreas Gohr <andi@splitbrain.org>
Date: Sat, 18 Dec 2010 10:07:04 +0100
Subject: [PATCH] more robust hostname detection

as discussed in
http://www.freelists.org/post/dokuwiki/git-changes-20101209,7
---
 inc/init.php | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/inc/init.php b/inc/init.php
index ed4409729..3b438f15b 100644
--- a/inc/init.php
+++ b/inc/init.php
@@ -419,12 +419,16 @@ function getBaseURL($abs=null){
     if($conf['baseurl']) return rtrim($conf['baseurl'],'/').$dir;
 
     //split hostheader into host and port
-    $addr = explode(':',$_SERVER['HTTP_HOST']);
-    $host = $addr[0];
-    $port = '';
-    if (isset($addr[1])) {
-        $port = $addr[1];
-    } elseif (isset($_SERVER['SERVER_PORT'])) {
+    if(isset($_SERVER['HTTP_HOST'])){
+        list($host,$port) = explode(':',$_SERVER['HTTP_HOST']);
+    }elseif(isset($_SERVER['SERVER_NAME'])){
+        list($host,$port) = explode(':',$_SERVER['SERVER_NAME']);
+    }else{
+        $host = php_uname('n');
+        $port = '';
+    }
+
+    if(!$port && isset($_SERVER['SERVER_PORT'])) {
         $port = $_SERVER['SERVER_PORT'];
     }
     if(!is_ssl()){
-- 
GitLab