Joomla kann anscheinend nicht so gut mit FastCGI und gibt statt den Error 404 (Nicht gefunden) einen sauberen Error 500 (Interner Server Fehler) aus. Um dem entgegenzuwirken müssen wir einen Core Hack machen.
Wir gehen in:
/libraries/joomla/environment/response.php
und ersetzen:
Code
function sendHeaders()
{
if (!headers_sent())
{
foreach ($GLOBALS['_JRESPONSE']->headers as $header)
{
if ('status' == strtolower($header['name']))
{
// 'status' headers indicate an HTTP status, and need to be handled
// slightly differently
header(ucfirst(strtolower($header['name'])) . ': ' . $header['value'], null,
(int) $header['value']);
} else {
header($header['name'] . ': ' . $header['value']);
}
}
}
}
Alles anzeigen
Und müssen das mit folgendem ersetzen
Code
function sendHeaders()
{
if (!headers_sent())
{
foreach ($GLOBALS['_JRESPONSE']->headers as $header)
{
if ('status' == strtolower($header['name']))
{
// 'status' headers indicate an HTTP status, and need to be handled
// slightly differently
$attribute = ucfirst(strtolower($header['name'])) . ': ' . $header['value'];
if (substr(php_sapi_name(), 0, 8) == 'cgi-fcgi') {
$attribute = str_replace("Status:", "HTTP/1.1", $attribute);
}
header($attribute, null, (int) $header['value']);
} else {
header($header['name'] . ': ' . $header['value']);
}
}
}
}
Alles anzeigen
Dabei ist zu beachten immer ein Backup vorher zu machen. Der Code ist abwärtskompatibel für PHP als Modul, ich verstehe selber nicht warum die das von Joomla.org noch nicht verbessert haben. Alle Kunden von Edel-Host sollten diesen Hack benutzen, da wir ausschließlich FastCGI einsetzen