changeset 133:00255ca89459

Generate URLs with correct protocol based on forwarded proto.
author Tom Fredrik Blenning <bfg@bfgconsult.no>
date Sun, 22 Jan 2023 19:15:55 +0100
parents 51b53cd01080
children b6b4a58c7625
files Sitemap.inc
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Sitemap.inc	Sun Jan 22 18:59:03 2023 +0100
+++ b/Sitemap.inc	Sun Jan 22 19:15:55 2023 +0100
@@ -69,13 +69,11 @@
     return false;
   }
 
-  private function processDir($dir, $lang, $acceptedLanguages, $base) {
+  private function processDir($dir, $lang, $acceptedLanguages, $baseurl) {
     $urls = array();
 
     $base=basePath();
     $base=$_SERVER['DOCUMENT_ROOT'];
-    $baseurl = $_SERVER["REQUEST_SCHEME"] ."://". $_SERVER["SERVER_NAME"];
-
 
     if ($handle = opendir($base . "/${dir}")) {
       while (false !== ($entry = readdir($handle))) {
@@ -126,7 +124,11 @@
             http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
 ';
 
-    $base = $_SERVER["REQUEST_SCHEME"] ."://". $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
+    $proto= $_SERVER["REQUEST_SCHEME"];
+    if (array_key_exists('HTTP_X_FORWARDED_PROTO', $_SERVER)) {
+      $proto=$_SERVER['HTTP_X_FORWARDED_PROTO'];
+    }
+    $base = $proto ."://". $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
     $l = strrpos($base, '/');
     if ($l)
       $base = substr($base, 0, $l);