Zum Inhalt springen

realurl verlinkt nur zu index.php

Erstellt am 22. September 2015 · 1 Antwort · letzte Antwort am 23. September 2015

Tags: RealURL, Links, TYPO3 6.x, Frage

Eisflamme ·

Hallo,

nach tagelangem Ausprobieren und Suchen habe ich immer noch keine Lösung gefunden.

Konfiguration:
TYPO3 6.2.15
RealURL 1.13.4
dix_urltool 0.3.2

Das Problem ist, dass man zwar alle Links über die korrekte URL aufrufen kann, wenn man sie von Hand eingibt, dass RealURL aber keine Links automatisch korrekt generiert. D.h., wenn ich einfach in das Adressfeld vom Browser eingebe:

http://meinedomain.de/en/category1/subcategory

, dann komme ich wie erwartet zur englischen Version der Seite subcategory, die unterhalb der Seite category1 abgelegt ist.

Was nicht funktioniert ist die Generierung der Links. Sowohl die durch die Navigation generierten Links als auch die Links, die ich über den WYSIWYG-Editor von Typo3 erstelle, zeigen das hier:

http://meinedomain.de/index.php?id=12345

Auch wenn ich mir über den Vorschau-Knopf eine Seite anzeigen lassen, erhalte ich diese Art von URL. Wenn ich über das Modul "Info" auf "RealURL management" gehe und mir dort den Encode-Cache ansehe, so ist dieser leer. Der Decode-Cache ist jedoch wie erwartet gefüllt.

Im Folgenden die Konfigurationen:

[globalVar = GP:L = 0]
config.sys_language_uid = 0
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
[global]

[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = de
config.locale_all = de_DE
config.htmlTag_langKey = de
[global]

# English language, sys_language.uid = 0
config.sys_language_uid = 0
config.language = en
config.locale_all = en_EN
config.htmlTag_langKey = en
plugin.tx_indexedsearch._DEFAULT_PI_VARS.lang = 0
plugin.tx_indexedsearch._LOCAL_LANG = en

config {
 simulateStaticDocuments = 0
 baseURL = http://www.meineurl.de/
 absRefPrefix = http://www.meineurl.de/
 absRelPath = /
 tx_realurl_enable = 1
 uniqueLinkVars = 1
}

config.tx_realurl_enable = 1

>> RealURL-Konfiguration in URLTool:

<?php

/**
 *
 * dix_UrlTool default realurl configuration
 * based on realurl-configuration of news.typo3.org
 * 	hatetepe://news.typo3.org/about/realurl-configuration/
 *
 */

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = array ( 
    '_DEFAULT' => array (
        'init' => array (
            'enableCHashCache' => '1',
            'appendMissingSlash' => 'ifNotFile,redirect',
            'enableUrlDecodeCache' => '1',
            'enableUrlEncodeCache' => '1',
            'emptyUrlReturnValue' => true,
            'autoUpdatePathCache' => '1',
            'respectSimulateStaticURLs' => '1'
        ),
        'redirects' => array (
        ),
        'preVars' => array (
            '0' => array (
                'GETvar' => 'no_cache',
                'valueMap' => array (
                    'nc' => '1',
                ),
                'noMatch' => 'bypass'
            ),
            '1' => array (
                'GETvar' => 'L',
                'valueMap' => array (
                    'en' => '0',
                    'de' => '1',
                ),
                'noMatch' => 'bypass',
            ),
            '2' => array (
                'GETvar' => 'lang',
                'valueMap' => array (
                    'de' => 'de',
                    'en' => 'en',
                ),
                'noMatch' => 'bypass',
            ),
        ),
        'pagePath' => array (
            'type' => 'user',
            'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
            'segTitleFieldList' => 'tx_realurl_pathsegment,title',
            'spaceCharacter' => '-',
            'languageGetVar' => 'L',
            'expireDays' => '7'
        ),
        'fixedPostVars' => array (
        ),
        'postVarSets' => array (
        )
        
        ,
        'fileName' => array (
            'defaultToHTMLsuffixOnPrev' => 0,
            'acceptHTMLsuffix' => 1,
        ),
    ),

); 


$domains = array(
	'_DEFAULT' => '7',
	'www.meineurl.de' => '7',
	'meineurl.de' => '7',
);
foreach ($domains as $domain=>$pid) {
	$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'][$domain] = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'];
	$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'][$domain]['pagePath']['rootpage_id'] = $pid;
}
?>

.htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^(typo3|typo3temp|typo3conf|t3lib|tslib|fileadmin|uploads|showpic\.php)/ - [L]
RewriteRule ^typo3$ typo3/index_re.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php [L]

Den Umweg über $GLOBALS muss ich gehen, das lässt die php.ini-Konfiguration nicht anders zu. Ich habe jedoch getestet, ob die hier getätigten Änderungen greifen. Das tun sie, denn Weiterleitungen lassen sich beispielsweise einrichten.

Auch das Typoscript greift. Denn wenn ich einige der Parameter ändere, merke ich, dass beispielsweise css-Dateien mit dem falschen Präfix (also ohne hatetepe:// ...) eingebunden werden.

Den Cache habe ich ständig gelöscht, ich habe mich auch häufig aus- und eingeloggt... all das hilft nichts.

Der nächste Schritt wäre zu debuggen, jedoch sitze ich hier auf einem TYPO3-System zu einem Server, auf den ich keinen root-Zugriff habe. Die .htaccess-Datei ist angepasst, jedoch muss ich für Änderungen davon immer jemanden extra anrufen. Da das Dekodieren der URLs funktioniert, hätte ich gesagt, dass die Datei keine Fehler enthält.

Hat hier irgendjemand Ideen? Kann ich noch irgendwelche Protokolle o.ä. hier posten, die ich >innerhalb< des TYPO3-Systems auslesen kann?

Danke und viele Grüße
Mike

Eisflamme ·

Hi,

durch "Debuggen" bin ich jetzt weitergekommen.

config {
simulateStaticDocuments = 0
}

wird einfach ignoriert... wir nutzen ein Extension Template und meine Vermutung liegt darin, dass dieses die Eigenschaft einfach hart festlegt. Das muss man jetzt erstmal sehen.

Der Log von realurl ist leider recht schwach, es wird zwar irgendwas rausgeschrieben, jedoch nicht über den devlog sondern irgendeinen anderen Log, bei dem ich nicht weiß, wo man den nachlesen kann.

Auskommentieren des return-Statements bei Erfassen von simulateStaticDocuments == true hilft jedenfalls für den Moment.