Mittlerweile konnte ich die Probleme mit viel Geduld und nach langem Suchen und Testen selbst beheben.
Hier die Zusammenfassung der Anpassungen in der Environment.php:
In der "function requestUri" entferne ich mittels str_replace das Contaoverzeichnis :
PHP-Code:
protected function requestUri()
{
if (!empty($_SERVER['REQUEST_URI']))
{
return str_replace('contaoverzeichnis/', '', $_SERVER['REQUEST_URI']);
}
else
{
return '/' . preg_replace('/^\//i', '', $this->scriptName) . (!empty($_SERVER['QUERY_STRING']) ? '?' . $_SERVER['QUERY_STRING'] : '');
}
}
Die Änderung in der "function url" entfernt die lokale IP aus der URL (siehe zweiter Beitrag):
PHP-Code:
protected function url()
{
$protocol = $this->ssl ? 'https://' : 'http://';
$host = $this->host;
return $protocol . $host;
}
In der "function script" ersetze ich die Variable TL_PATH durch den festen Wert (Contaoverzeichnis, entspricht dem Eintrag in der pathconfig.php):
PHP-Code:
protected function script()
{
return preg_replace('/^' . preg_quote('/contaoverzeichnis', '/') . '\/?/i', '', $this->scriptName);
}
In der "function base" wird TL_PATH entfernt (siehe Beitrag #3):
PHP-Code:
protected function base()
{
return $this->url . '/' ;
}
Jetzt funktioniert die Website selbst, das Formular samt Weiterleitung auf eine Danke-Seite (sogar mit Request Token) und der öffentliche Backend-Zugang.
Würde mich über Feedback freuen, schließlich kann ich nur schlecht beurteilen inwiefern die Änderungen gut, sinnvoll, sinnlos, gefährlich (...) sind.
Bis dahin gebe ich mich damit zufrieden, dass alles funktioniert wie es soll.
MfG
Lesezeichen