Zum Inhalt springen

Problem: Mit realURL Fehlerseite umgehen

Erstellt am 3. September 2008 · 2 Antworten · letzte Antwort am 4. September 2008

Tags: RealURL, Weiterleitungen & 404, Frage

lunarstrain ·

Hi erstmal,

probiere jetzt schon seit Stunden mit realURL und TYPO3 rum, damit ich die unschönen Fehlerseiten, die TYPO3 mir ausgibt, wenn eine Seite in einer Sprache nicht verfügbar ist, zu umgehen. Es soll einfach auf die nächst höhere Ebene umgeleitet werden. realURL funktioniert sonst super und er gibt mir SEO-URLs aus. Hier mal meine Konfiguration:

realURL config:

<?php

/**
 *
 * aeUrlTool default realurl configuration
 * based on realurl-configuration of news.typo3.org
 * 	http://news.typo3.org/about/realurl-configuration/
 *
 */
 
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc']['tx_realurl'] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->encodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_fe.php']['checkAlternativeIdMethods-PostProc']['tx_realurl'] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->decodeSpURL';
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearPageCacheEval']['tx_realurl'] = 'EXT:realurl/class.tx_realurl.php:&tx_realurl->clearPageCacheMgm';

$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'; 

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array ( 
    '_DEFAULT' => array (
        'init' => array (
            'enableCHashCache' => '1',
            'appendMissingSlash' => 'ifNotFile',
            'enableUrlDecodeCache' => '1',
            'enableUrlEncodeCache' => '1',
            'postVarSet_failureMode' => 'redirect_goodUpperDir',
        ),
        'redirects' => array (
        ),
        'preVars' => array (
            '0' => array (
                'GETvar' => 'no_cache',
                'valueMap' => array (
                    'nc' => '1',
                ),
                'noMatch' => 'bypass'
            ),
            '1' => array (
                'GETvar' => 'L',
                'valueMap' => array (
                    'de' => '0',
'en' => '2',
'fr' => '3',
'es' => '4',
'ru' => '5',
'cn' => '6',
'ar' => '7',
                ),
                'noMatch' => 'bypass',
            ),
            '2' => array (
                'GETvar' => 'lang',
                'valueMap' => array (
                    'de' => '0',
'en' => '2',
'fr' => '3',
'es' => '4',
'ru' => '5',
'cn' => '6',
'ar' => '7',
                ),
                'noMatch' => 'bypass',
            ),
        ),
        'pagePath' => array (
            'type' => 'user',
            'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
            'spaceCharacter' => '-',
            'languageGetVar' => 'L',
            'expireDays' => '7',
            'rootpage_id' => '1',
        ),
        'fixedPostVars' => array (
        ),
        'postVarSets' => array (
            '_DEFAULT' => array (
                'archive' => array (
                    '0' => array (
                        'GETvar' => 'tx_ttnews[year]',
                    ),
                    '1' => array (
                        'GETvar' => 'tx_ttnews[month]',
                        'valueMap' => array (
                            'january' => '01',
                            'february' => '02',
                            'march' => '03',
                            'april' => '04',
                            'may' => '05',
                            'june' => '06',
                            'july' => '07',
                            'august' => '08',
                            'september' => '09',
                            'october' => '10',
                            'november' => '11',
                            'december' => '12',
                        ),
                    ),
                ),
                'browse' => array (
                    '0' => array (
                        'GETvar' => 'tx_ttnews[pointer]',
                    ),
                ),
                'select_category' => array (
                    '0' => array (
                        'GETvar' => 'tx_ttnews[cat]',
                    ),
                ),
                'article' => array (
                    '0' => array (
                        'GETvar' => 'tx_ttnews[tt_news]',
                        'lookUpTable' => array (
                            'table' => 'tt_news',
                            'id_field' => 'uid',
                            'alias_field' => 'title',
                            'addWhereClause' => ' AND NOT deleted',
                            'useUniqueCache' => '1',
                            'useUniqueCache_conf' => array (
                                'strtolower' => '1',
                                'spaceCharacter' => '-',
                            ),
                        ),
                    ),
                    '1' => array (
                        'GETvar' => 'tx_ttnews[swords]',
                    ),
                ),
            ),
        ),
        'fileName' => array (
//
// if you don't want .html-URLs set the following to "false" (e.g. 'defaultToHTMLsuffixOnPrev' => false,)
// then you get http://www.yourdomain.com/imprint/ instead of http://www.yourdomain.com/imprint.html
//
            'defaultToHTMLsuffixOnPrev' => true,
            'index' => array (
                'rss.xml' => array (
                    'keyValues' => array (
                        'type' => '100',
                    ),
                ),
                'rss091.xml' => array (
                    'keyValues' => array (
                        'type' => '101',
                    ),
                ),
                'rdf.xml' => array (
                    'keyValues' => array (
                        'type' => '102',
                    ),
                ),
                'atom.xml' => array (
                    'keyValues' => array (
                        'type' => '103',
                    ),
                ),
            ),
        ),
    ),

); 

?>

TYPOscript:

#### REAL-URL ####
config.simulateStaticDocuments = 0

config.baseURL = http://meineURL.de/

config.tx_realurl_enable = 1

und die .htaccess:

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Ich bin echt am Ende mit meinem Latein... hab schon in versch. anderen Foren nach Antworten gewälzt, aber nichts ergab besserung. Hab ich da irgendwo nen Denkfehler oder gibts da generell Probleme?

lg

lunarstrain ·

Hi,

in der TS-Ref hab ich mich schon mehrmals von oben nach unten und wieder zurück durchgelesen... es gibt da zwar ein paar gute Ansätze wie man Fehlerseiten vermeidet (z.B. content_fallback), aber keines davon liefert wünschenswerte Ergebnisse. Ich bin auf realURL gekommen weil es dort die Funktion: "'postVarSet_failureMode' => 'redirect_goodUpperDir'," gibt, die genau das machen soll was ich möchte, nämlich auf die nächst höhere Ebene der Sprache umleiten, wenn eine ebene nicht übersetzt ist. Aber realURL tuts einfach nicht.
.htaccess und httpd.conf sind richtig eingestellt... realURL wandelt auch die URLs in suchmaschinenfreundliche URLs um... aber es erscheint immer noch die Fehlerseite "Reason: Page is not available in the requested language." wenn eine Unterseite in einer Sprache nicht existiert, anstatt auf den nächst höheren Menüpunkt zu wechseln...

sehr komisch...