diff --git a/e107_admin/prefs.php b/e107_admin/prefs.php
index 1e1ebc9a3..010197c19 100644
--- a/e107_admin/prefs.php
+++ b/e107_admin/prefs.php
@@ -362,7 +362,7 @@ $text = "
".($pref['siteurl'] == SITEURL ? "" : $frm->help(PRFLAN_159.": ".SITEURL.""))." |
- ".$frm->text('siteurl', $pref['siteurl'], 150, 'size=xxlarge')."
+ ".$frm->text('siteurl', $pref['siteurl'], 150, ['size'=>'xxlarge', 'required'=>1, 'pattern' => '^http.*', 'placeholder'=>'eg. '.SITEURL])."
|
diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php
index 46a714209..f05a3a1fb 100644
--- a/e107_handlers/e107_class.php
+++ b/e107_handlers/e107_class.php
@@ -5534,11 +5534,18 @@ class e107
*/
public function set_urls_deferred()
{
+ $siteurl = self::getPref('siteurl');
+
if(self::isCli())
{
- define('SITEURL', self::getPref('siteurl'));
+ define('SITEURL', $siteurl);
define('SITEURLBASE', rtrim(SITEURL,'/'));
}
+ elseif(strpos($siteurl,'http')!== false && strpos($siteurl, $_SERVER['HTTP_HOST'])===false)
+ {
+ die('Site Configuration Issue Detected. Please contact your webmaster.');
+ error_log('The configured siteurl in your preferences does not match the HTTP_HOST: '.$_SERVER['HTTP_HOST']);
+ }
else
{
define('SITEURLBASE', $this->HTTP_SCHEME.'://'. filter_var($_SERVER['HTTP_HOST'], FILTER_SANITIZE_URL));