On 06.06.2011 16:11, Teubner-Design wrote:
[...]
@Roland
Deine Variante klingt danach, als ob sie mein Problem lösen kann, leider
hat wohl der Verteiler die .php Datei gefressen. :-/
Könntest Du sie vielleicht mal als .txt oder .zip Datei versuchen?
Das wäre super!

[...]

Anbei noch einmal die Datei als txt und mit gzip verpackt. Falls du sie immer noch nicht aufmachen kannst, schreib mir am besten direkt eine Mail, dann müssen wir die Liste nicht vollspammen.

Gruß
Roland
<?php
/**
 * Damit das hier funktioniert, muss in der localconf.php folgendes stehen:
 *      $TYPO3_CONF_VARS['FE']['pageNotFound_handling'] = 
'USER_FUNCTION:typo3conf/notfound.php:user_pageNotFound->pageNotFound';
 * 
 * Pfad und Name der Datei muss ggf. angepasst werden.
 */       
class user_pageNotFound {
       
        function pageNotFound($param, $ref) {

                # Hier koennnen spezielle Umleitungen eingefuegt werden
                # 'domaine' => array( 'id' => ID/Pfad der Zielseite, 'status' = 
Statuscode ohne "Status:" oder "Http/1.1")
                #
                # Problem: Bei der Verwendung von Location zur Weiterleitung 
auf eine andere URL, wird anscheinend automatisch
                # der HTTP-Status 302 gesetzt ... mmmhhh ... das koennte man 
sich nocheinmal anschauen. 
                $umleitung = array(
                        'www.xyz.de'            => array('id' => "/notfound/", 
'status' => '404 Not Found'),
                        'www.abc.de'            => array('id' => 
"/index.php?id=10", 'status' => '404 Not Found'),
                );
                
                # Alle Spezialumleitungen abarbeiten
                foreach( $umleitung as $domain => $conf ){
                        if (t3lib_div::getIndpEnv('HTTP_HOST') == $domain ) {
                                header("HTTP/1.1 ".$conf['status']);
                                # Pruefe ob PageID oder Pfad anggben wurde
                                if( TRUE == is_numeric($conf['id']) ){
                                        header("Location: 
http://".$domain."/index.php?".$conf['id']);
                                }else{
                                        header("Location: 
http://".$domain.$conf['id']);
                                }       
                                exit;
                        }
                }
          
          
                # Die Standardfehlerseite
                $this->setHeader();
                
                $html  = $this->getHTMLHeader();
                $html .= $this->getHTMLBody(t3lib_div::getIndpEnv('HTTP_HOST'), 
$param['currentUrl']);
                $html .= $this->getHTMLFooter();
                echo $html;
        }

        
        function setHeader(){
                header("HTTP/1.1 404 Not Found");
        }
        
        /**
         * 
         */
        function getHTMLHeader(){
                $html = '
                        <!DOCTYPE html
                             PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                             
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
                        <html xmlns="http://www.w3.org/1999/xhtml"; 
xml:lang="de" lang="de">
                        <head>
                        
                        <meta http-equiv="Content-Type" content="text/html; 
charset=utf-8" />
                        
                        <base href="'.t3lib_div::getIndpEnv('HTTP_HOST').'" />
                        
                        <title>Seite nicht gefunden</title>
                </head> 
                <body>          
                ';
                return $html;
        }
        
        /*
         * 
         */
        function getHTMLBody($domain, $referrer){
                $html = '
                        <div id="wrapper" style="margin-left: 10px;">
                                <h1>Seite nicht gefunden / Keine 
Zugriffsrechte</h1>
                                <p>
                                        Die Seite <b>'.$domain.$referrer.'</b> 
existiert nicht, oder aber Sie besitzen keine Zugriffsrechte daf&uuml;r.<br/>
                                        <br/>
                                        Sie k&ouml;nnen versuchen die 
gew&uuml;nschte Seite von der Startseite aus zu erreichen: 
                                        <a 
href="http://'.$domain.'">'.$domain.'</a>.
                                </p>
                                <br/>
                                <br/>
                                <br/>
                                <br/>
                                <h1>Page Not Found / No Access Rights</h1>
                                <p>
                                The page <b>'.$domain.$referrer.'</b> either 
does not exist or you don\'t have sufficient rights to access it.<br/>
                                <br/>
                                You may get the desired page beginning your 
search from the startpage: <a href="http://'.$domain.'">'.$domain.'</a>.
                                </p>
                        </div>
                ';
                return $html;
        }
        
        function getHTMLFooter(){
                $html = "</body></html>";
                return $html;
        }
}
       
?>
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an