0 votes
in SoSci Survey (dt.) by s090046 (125 points)

Hallo zusammen,

wir hosten SoSci mit der Hochschullizenz selbst und haben beim Einsatz eines ProxyPath ein Redirect Problem…

Der Server ist nur intern erreichbar und sollte mittels ProxyPath auch von außen erreichbar sein. Dazu habe ich in der Konfiguration folgendes eingetragen:

Doch wenn ich die Seite https://extern.mh-hannover.de/soscisurvey/ aufrufe wird sofort auf http://intern.mh-hannover.local/soscisurvey/admin/ umgeleitet und ich kann diese Seite von extern nicht erreichen. Und zwar nur bei der Anmeldeseite, wenn ich https://extern.mh-hannover.de/soscisurvey/<Fragebogenname> aufrufe, erfolgt kein redirect und der Fragebogen ist von extern erreichbar. Wie kann man dieses Redirect verhindern?

Wir haben die (vermeintliche) Stelle ausfindig gemacht, in der das Redirect stattfindet und zwar in der/admin/index.php unter private static function htmlLicenceInfo()

    private static function htmlLicenceInfo() {
            if ($GLOBALS['oFb']['licence info'] === false) {
                    return SystemLib::advice('Licence', 'licence.not retrieved');
            }
            // Redirect to server URL if different
            $urlInfo = parse_url($GLOBALS['oFb']['licence info']['url']);

            $lcRoot = str_replace(' ', '%20', (isset($urlInfo['path']) ? $urlInfo['path'] : ''));
            $crRoot = str_replace(' ', '%20', $_SERVER['REQUEST_URI']);
            $crRoot = substr($crRoot, 0, strlen($lcRoot));
            $lcHost = strtolower($urlInfo['host']);
            //$lcHost = 'extern.mh-hannover.de';
            $crHost = strtolower($_SERVER['SERVER_NAME']);
            $stay = GeneralFramework::readExt('stay', true);
            if ((($lcRoot !== $crRoot) or ($lcHost !== $crHost)) and ($stay === false)) {
                    $redirect = $GLOBALS['oFb']['licence info']['url'].'/admin/?stay';
                    header('Location: '.$redirect);
                    exit;
            }
            // Show licence information
            if (!isset($GLOBALS['oFb']['licence info']['lic'])) {
                    return SystemLib::advice('Licence', 'licence.invalid');
            } elseif ($GLOBALS['oFb']['licence info']['lic'] === 'free') {
                    return SystemLib::advice('Licence', 'licence.free', array('organization' => nl2br($GLOBALS['oFb']['licence info']['org'])));
            } elseif (
                    ($GLOBALS['oFb']['licence info']['lic'] === 'year') or
                    ($GLOBALS['oFb']['licence info']['lic'] === 'quad') or
                    ($GLOBALS['oFb']['licence info']['lic'] === 'lifetime') or
                    ($GLOBALS['oFb']['licence info']['lic'] === 'reduced') or
                    ($GLOBALS['oFb']['licence info']['lic'] === 'test')
            ) {
                    // Fine, nothing to show
            } else {
                    return SystemLib::advice('Licence', 'licence.invalid');
            }
    }

Wenn die Variable $lcHost direkt mit der neuen URL gesetzt wird funktioniert es…

Hat da vielleicht jemand eine Idee?

Viele Grüße,
N.Schönfeld

1 Answer

0 votes
by SoSci Survey (304k points)
selected by s090046
 
Best answer

Die Server-URL ist teil der Software-Aktivierung.

Wenn Sie den gewünschten Pfad gesetzt haben, dann aktivieren Sie die Software in den Server-Einstellungen (ganz unten) einfach mit dem Lizenzschlüssel für die "neue" URL.

by s090046 (125 points)
Danke, das war es :)

Jetzt funktioniert es mit der "neuen" URL.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...