Hi Leute,
ich verwende grunssätzlich bei den Internetseiten Typo3 mit Realurls. Die Ext. funktioniert auch soweit nur im IE nicht ganz:
http://www.sluka-hammerer.at/dfdf
Im Firefox wird auf die Startseite weitergeleitet aber im IE nicht.
Ich habe die Einstellung in der Localconf.php
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = '/';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'Status: 301 Moved Permanently';
Bei der Realurl Einstellung im ExtensionManager verwende ich nicht die realurl_autoconf.
Wo könnte nun der Fehler sein dass der IE das nicht versteht nicht gefundene Seiten weiter zu leiten?
Gruss Blumentopf
Servus,
also ich hab das anders konfiguriert:
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 'USER_FUNCTION:fileadmin/scripts/pageNotFoundHandling.php:user_pageNotFound->pageNotFound';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';
Damit rufe ich mir folgendes script (fileadmin/templates/scripts/pageNotFoundHandling.php) auf:
<?php
define('REDIRECTPAGE', '404.html');
define('BASEPATH', '/mycms_subfolder/');
define('STYLESHEET', 'fileadmin/templates/scripts/pageNotFound.css');
class user_pagenotfound {
function pagenotfound($param, $conf) {
// Search Expression
$searchexp = ($param[currentUrl]);
$searchexp = basename($searchexp,".html");
$searchexp = strip_tags($searchexp);
$urlparameters = "?tx_indexedsearch[sword]=" . $searchexp;
$server_name = $_SERVER['SERVER_NAME'];
header("HTTP/1.0 404 Not Found");
/*
echo '<table border="1">';
foreach($_SERVER as $k => $v) {
echo '<tr><td>'.$k.'</td><td>'.$v.'</td></tr>';
}
echo '</table>';
*/
print '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content_box-Type" content_box="text/html; charset=iso-8859-1" />
<meta name="generator" content_box="TYPO3 4.0 CMS" />
<link rel="stylesheet" type="text/css" href="' . BASEPATH . STYLESHEET . '" media="all" />
<title>Seite nicht gefunden</title>
<SCRIPT LANGUAGE="JavaScript">
<!--
function doRedirect() {
window.location="http://'.$server_name . BASEPATH . REDIRECTPAGE . $urlparameters .'";
}
doRedirect();
// -->
</script>
</head>
<body style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;text-align:center;";>
<div id="rsys_shade">
<div id="page_box">
<div id="navigation_box_level1">
<div id="rsys_logo">
</div>
</div>
<div id="header" >
</div>
<div id="navigation_box_level2">
</div>
<div id="content_box_1">
<h1>Seite nicht gefunden</h1>
<p>Die von ihnen angeforderte Seite wurde nicht gefunden</p>
<p>Wenn sie nicht innerhalb von 3 Sekunden weitergeleitet werden klicken sie auf folgenden Link:<br>
<a href="http://'.$server_name . BASEPATH . REDIRECTPAGE . $urlparameters . '">'.$server_name.'</a></p>
</div>
</div>
<div id="footer">
</div>
</div>
</body>
</html>';
exit;
}
}
?>
Dieses verarbeitet das "falsch" eingegebene und gibt es an die t3 suchbox weiter.
Das schöne an der geschichte,
- echter 404 fehler wird produziert (für google wichtig)
- 404 page ist im corperate design
- weitere infos wie z.b. sitemap können eingeblendet werden
- funktioniert im IE, FF, Opera, Chrome etc. =)
Warum deine Variante im IE nicht klappt kann ich nicht sagen. Evtl. liegts an dem statheader. Schonmal entfernt und dann getestet? gibt wahrscheinlich nicht deinen gewünschten 301, oder doch?
gruß
Hi.
Danke für den Tipp
$TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = '/404';
$TYPO3_CONF_VARS['FE']['pageNotFound_handling_statheader'] = 'HTTP/1.0 404 Not Found';
Das funktioniert. Ich habe dazu noch eine versteckte Mainseite /404 angelegt. Auf dieser findet man die Sitemap und die Suche.
Gruss