On 13.09.2011 14:22, Christian Hager wrote:
Hallo Leute,
besteht die Möglichkeit mehrer 404 Seiten zu verwenden?

[...]


Hallo Namensvetter :-)

Am 6.6.2011 habe ich folgendes auf eine ähnliche Frage hier geantwortet:

[QUOTE]
Hallo,

Wir machen das mit dem angehängten PHP-Skript. Es muss in der localconf.php eingetragen werden, steht auch im Header der Datei.

Dort kann dann für jede Domain eine Fehlerseite mit beliebigem Namen angegeben werden. Für Domains, die nicht explizit aufgelistet sind, wird eine Standardseite generiert.

Man könnte hier auch noch nach Pfaden differenzieren aber das brauchten wir bisher nicht.

Nachteilig könnte man bewerten, dass das PHP-Skript händisch zu erweitern ist.
[/QUOTE]


Vielleicht hilft es dir ja weiter.

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
                # 'domain' => 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