Zum Inhalt springen

Error-Handling

Erstellt am 5. Juni 2007 · 14 Antworten · letzte Antwort am 7. Juni 2007

Tags: Frage

kaktus ·

Hallo,

welche Ext. würdet Ihr für das Error-Handling empfehlen?

Ich habe eine Seite unter einer Testdomain aufgebaut, die ich jetzt durch die endgültige Domain ersetzen möchte. Surfern, die bei Google o.ä. auf Links mit der alten Domain klicken, möchte ich eine Seite anbieten die auf die neue Domain umleitet bzw. einen Link dorthin anbietet.

Welche Erfahrungen habt Ihr? Evtl. ein kleines HowTo?

Natürlich habe ich hier im Forum gesucht, bin aber nicht wirklich weiter gekommen.

Ich google jetzt mal. . .

Grüße, kaktus

P.S.:
Typo3 4.1.1, simulateStaticDocuments, zwei Domains unter einer Installation

Edit:
Hab mir im Install-Tool inzw. das page_not_found-handling angeschaut, aber das funktioniert wohl nur bei einer Domain, oder?

Die Ext. Error_404_Handling setzt realUrl voraus, oder?

dcn ·

AFAIK benötigt Error_404_Handling kein RealURL (auch wenn ich es gerne empfehle), sondern sollte auch mit SimulateStatic funktionieren. Die Kombi aus RealURL und 404-handling hat sich bei mir in einer Multidomain-Installation jedenfalls als sehr nützlich erwiesen.

Gruss,
Alf

kaktus ·

Hallo Alf,

das hab ich auch gelesen und steh jetzt vor dem Problem, das nach Installation und folgender Deinstallation der Ext. die Verlinkung im Frontend nicht funktioniert. Es kommt 404 Not found (: . Aus dem Backend kann ich die Seiten aufrufen.

Grüße, kaktus

kaktus ·

Dank dem freundlichen Support von Mittwald läuft es wieder. Das Problem ist in diesem Post beschrieben:

#59927

Schlauer bin ich jedoch nicht geworden. Mir ist mittlerweile bekannt, dass man die Geschichte im Zusammenhang mit RealUrl elegant und suchmaschinenfreundlich lösen kann. Siehe hier:

http://typo3.intervation.de/extensionen/realurl/error-meldung-umleiten.html

Aber RealUrl ist ja auch nicht ohne . . .

Ich hoffe also weiter auf Eure Empfehlungen.

Grüße kaktus

dcn ·

Hallo Kaktus,

realurl ist nur beim ersten Mal ein Abenteuer, ab dann macht es süchtig. Ich mache eigentlich inzwischen nichts mehr ohne realurl und Google dankt es mir.

Zu realurl nehme ich jb_realurl_regeneration, damit ich realurl bewusst neu generieren und kontrollieren kann.

Damit das ganze ordentlich ausschaut, wenn sich jemand vertippt, habe ich im Installtool unter All configuration folgende Einträge:

pageNotFound_handling = Pfad zur Error-Seite (freundliche Meldung mit Sitemap/Suche)
pageNotFound_handling_statheader = HTTP/1.0 404 Not Found

Den Ansatz von intervation.de finde ich auch sehr gut, ist aber viel manuelle Nacharbeit dafür einen Tippfehler abzufangen. Error-Seiten sind halt immer noch am besten, wenn Sie nie angezeigt werden ;-)

Ich kann Dir gerne meine .htaccess und localconf zu realurl posten.

Gruss,
Alf

kaktus ·

Hallo dcn,

das wäre nett!

Als ersten Schritt habe ich realUrl für eine Domain zum laufen gebracht. Eigentlich ganz easy.

Probleme habe ich jetzt mit der zweiten Domain; ich bekomme die bekannte Reason . . . Fehlermeldung.

Wie muss die komplette localconf für zwei Domains aussehen?

Die Fehlermeldungsgeschichte ist dann der nächste Schritt.

Grüße kaktus

kaktus ·

Ich kreig es einfach nicht hin!

die localconf sieht so aus:

<?php
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tstemplate.php'] ['linkData-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['tslib/class.tslib_fe.php'] ['checkAlternativeIdMethods-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urldecodecache']
= 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urlencodecache']
= 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['FE'] ['addRootLineFields'] .=
',tx_realurl_pathsegment,alias,nav_title,title';
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'enableUrlDecodeCache' => 1,
'enableUrlEncodeHash' => 1,
// 'postVarSet_failureMode' => 'redirect_goodUpperDir',
),
'rewrite' => array(
),
'preVars' => array(
/*
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
'valueDefault' => 'de',
),
),
*/
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'rootpage_id' => '109'
),
'www.taxus-gartenmagazin' => array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'rootpage_id' => '419'
),
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
'fixedPostVarSets' => array(
),
'postVarSets' => array(
'_DEFAULT' => array(
//archive
'period' => array (
array (
'condPrevValue' => -1,
'GETvar' => 'tx_ttnews[pS]',
//'valueMap => array()
),
array (
'GETvar' => 'tx_ttnews[pL]',
//'valueMap => array()
),
 
array (
'GETvar' => 'tx_ttnews[arc]',
'valueMap' => array(
'non-archived' => -1,
),
),
),
 
'browse' => array (
array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select' => array (
array (
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array (
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'article' => array( 
array (
'GETvar' => 'tx_ttnews[backPid]',
// 'valueMap => array(
// ),
),
array (
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array (
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'maxLength' => 12,
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
), 
);
?>

alle anderen Einstellungen im TS und.htaccess sollten passen.

Kann jemand bitte mal über den Code schauen?

Realurl arbeitet in der ersten Domain id = 109 perfekt.
In der zweiten Domain id = 419 werden die Titelzeilen umgewandelt, wenn ich jedoch eine Seite aufrufe (aus dem FE)kommt dieser Fehler:

Not Found
The requested URL /archiv/pflanzen.html was not found on this server.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Grüße, kaktus

kaktus ·

So,

jetzt sehen die Titelzeilen immerhin schon mal so aus:

http://taxus-gartenmagazin.de/index.php?id=aktuell_im_gartenmagazin&partner=progarten

dank dem Code von dieser Seite:

http://www.seo24.at/realurl-mehrere-domains/

Jetzt muss ich also die Zeile noch anpassen, damit am ende wieder .html steht.

Und dann widme ich mich endlich dem eigentlichen Thema dieses Threads.

Grüße kaktus

ArminB ·

moin,

@Alf

Den Ansatz von intervation.de finde ich auch sehr gut, ist aber viel manuelle Nacharbeit dafür einen Tippfehler abzufangen. Error-Seiten sind halt immer noch am besten, wenn Sie nie angezeigt werden ;-)

Da verbringt man schon ein paar Stunden um eine Seite zu erstellen, da sollte man auch etwas Zeit für eine optimale Fehlerbehandlung aufwenden.

@kaktus
Es fehlt das _DEFAULT!

'_DEFAULT' => array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'rootpage_id' => '109'
),
),
'www.taxus-gartenmagazin' => array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'rootpage_id' => '419'
),


Armin
dcn ·

Ups, da ist ja einiges passiert heut ... bin grad erst wieder im Büro eingeschlagen.

@kaktus

hats geklappt?

@armin

Wollte Deine Arbeit ja nicht schmälern. Ich finde den Ansatz wirklich gut und werde ihn wahrscheinlich auch mal brauchen, aber um eine allgemeine Fehlerbehandlung bei redaktionell stark verwucherten Seiten zu machen, müsste die Funktion den entsprechenden Begriff an Indexed Search übergeben ... ähm ... fällt mir grad ein, hab ich das nicht auch schon mal gesehen?

Ich wünsche euch einen geruhsamen Feiertag 😉
Alf

kaktus ·

Hallo Alf,

wer hat wann wo Feiertag?

Mit der Empfehlung von Armin kommt die Not found Geschichte. Ich bin dabei realurl
anzupassen, dass am ende .html steht. Bin aber noch nicht wirklich weiter.

Grüße, kaktus

kaktus ·

@Armin,

der code sieht jetzt so aus:

<?php
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tstemplate.php'] ['linkData-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['tslib/class.tslib_fe.php'] ['checkAlternativeIdMethods-PostProc'] []
= 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urldecodecache']
= 'tx_realurl_urldecodecache';
$TYPO3_CONF_VARS['SC_OPTIONS'] ['t3lib/class.t3lib_tcemain.php'] ['clearAllCache_additionalTables'] ['tx_realurl_urlencodecache']
= 'tx_realurl_urlencodecache';
$TYPO3_CONF_VARS['FE'] ['addRootLineFields'] .=
',tx_realurl_pathsegment,alias,nav_title,title';
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1,
'enableUrlDecodeCache' => 1,
'enableUrlEncodeHash' => 1,
// 'postVarSet_failureMode' => 'redirect_goodUpperDir',
),
'rewrite' => array(
),
'preVars' => array(
/*
array(
'GETvar' => 'L',
'valueMap' => array(
'de' => '0',
'en' => '1',
'valueDefault' => 'de',
),
),
*/
),
'_DEFAULT' => array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3,
'rootpage_id' => '109'
),
),
'www.taxus-gartenmagazin' => array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'rootpage_id' => '419'
),
),
'fileName' => array (
'defaultToHTMLsuffixOnPrev' => 1,
'index' => array(
'page.html' => array(
'keyValues' => array (
'type' => 1,
),
),
),
),
'fixedPostVarSets' => array(
),
'postVarSets' => array(
'_DEFAULT' => array(
//archive
'period' => array (
array (
'condPrevValue' => -1,
'GETvar' => 'tx_ttnews[pS]',
//'valueMap => array()
),
array (
'GETvar' => 'tx_ttnews[pL]',
//'valueMap => array()
),
 
array (
'GETvar' => 'tx_ttnews[arc]',
'valueMap' => array(
'non-archived' => -1,
),
),
),
 
'browse' => array (
array (
'GETvar' => 'tx_ttnews[pointer]',
),
),
'select' => array (
array (
'GETvar' => 'tx_ttnews[cat]',
'lookUpTable' => array (
'table' => 'tt_news_cat',
'id_field' => 'uid',
'alias_field' => 'title',
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
'article' => array( 
array (
'GETvar' => 'tx_ttnews[backPid]',
// 'valueMap => array(
// ),
),
array (
'GETvar' => 'tx_ttnews[tt_news]',
'lookUpTable' => array (
'table' => 'tt_news',
'id_field' => 'uid',
'alias_field' => 'title',
'maxLength' => 12,
'addWhereClause'=> 'AND NOT deleted',
'useUniqueCache'=> 1,
'useUniqueCache_conf' => array (
'strtolower' => 1,
'spaceCharacter' => '-',
),
),
),
),
),
), 
);
?>

Funktioniert auch, allerdings nur solange ich nicht auf eine News klicke. Dann kommt immer noch diese Fehlermeldung:

Not Found
The requested URL /artikel_lesen_im_gartenmagazin/article/775/marktuebersic.html was not found on this server.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.

Wo liegt der hase im Pfeffer?

Grüße kaktus

dcn ·

Also tt_news habe ich ehrlich gesagt nur durch Zufall hinbekommen, sieht bei mir so aus

           'article' => array(
                array(
                    'GETvar' => 'tx_ttnews[tt_news]',
                ),
                array(
                    'GETvar' => 'tx_ttnews[backPid]',
                ),
            ),
            'category' => array(
                array(
                    'GETvar' => 'tx_ttnews[cat]',
                ),
            ),
            'neste' => array(
                array(
                    'GETvar' => 'tx_ttnews[pointer]',
                ),

Sorry ... hast Du keinen Feiertag? Hatte vergessen, das morgen nicht alle frei haben :o

Gruss,
Alf

kaktus ·

Hallo Alf,

nee Feiertag hab ich nicht. Ist aber kein Problem, ich hatte genug frei in der letzten Zeit. 1. Mai, Himmelfahrt, Pfingsten und dann noch Brückentage, das reicht bis zum Urlaub in sechs Wochen.

Danke für den tt_news code, probier ich gleich mal aus. Es wäre halt schön, wenn es neben der Doku eine Zusammenstellung mit Einstellungen für realurl gäbe, vorzugswqeise auf deutsch für solche wie mich, die englisch nicht so perfekt sprechen.

Grüße, kaktus

kaktus ·

Da sich mein Problem momentan auf die Konfiguration von realurl für tt_news konzentriert, hab ich einen neuen Thread an der richtigen Stelle aufgemacht.

#63616

Hier melde ich mich wieder, wenn ich mich mit der Error Geschichte befassen kann.

Grüße, kaktus