Zum Inhalt springen

RealURL, CGIWRAP (PD-Admin) und nix geht

Erstellt am 21. April 2008 · 3 Antworten · letzte Antwort am 23. April 2008

Tags: Frage

NilZ ·

Hallo zusammen,

ich weiß, dass das Thema hier schon öfter eines war und sicher auch nicht zum letzten Mal sein wird. Ich habe alles, was ich über die SuFu finden konnte, gelesen, aber es scheint bei mir nix zu helfen.

System:
- Server: Apache, konfiguriert mit PD-Admin, CGIWRAP aktiv
- Typo: T3 4.1, aktuelle RealURL

Hintergrund: Übernahme einer bereits existierenden Präsenz auf einen neuen Server.
Auf dem alten Server lief alles korrekt.
Vorgehen: DB dumpen, Files kopieren, localconf anpassen, Dump einspielen, Caches löschen.

Problem: URL der ersten Ebene werden von RealURL problemlos aufgelöst, z.B. domain.de/seite1.html. Wird jedoch www.domain.de/seite1/seite2.html aufgerufen, kommt folgendes Ergebnis:

Error! 
Error. Reason: "seite2.html" could not be found, closest page matching is

Die .htaccess sieht wie folgt aus:

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

Ich benutze aeurltool. Mit diesem habe ich die Config in typo3conf/urltoolconf_realurl.php ausgelagert.

In der localconf.php steht hierzu:

$TYPO3_CONF_VARS['EXT']['extList'] = 'css_styled_content,tsconfig_help,context_help,extra_page_cm_options,[...],aeurltool,realurl';       // Modified or inserted by TYPO3 Extension Manager.
$TYPO3_CONF_VARS['EXT']['extConf']['realurl'] = 'a:3:{s:10:"configFile";s:26:"typo3conf/realurl_conf.php";s:14:"enableAutoConf";s:1:"1";s:14:"autoConfFormat";s:1:"0";}';	//  Modified or inserted by TYPO3 Extension Manager.
@include(PATH_typo3conf.'urltoolconf_realurl.php'); // RealUrl-Configuration inserted by extension aeurltool

Die urltoolconf_realurl.php enthält folgendes:

<?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,
                 'appendMissingSlash' => 'ifNotFile',
                 'enableUrlDecodeCache' => 1,
                'enableUrlEncodeHash' => 1,
                // 'postVarSet_failureMode' => 'redirect_goodUpperDir',
        ),

         'redirects' => array(
         ),
         /* 'rewrite' => array(
         ), */

        'preVars' => array(
                /*                                 array(
                        'GETvar' => 'no_cache',
                        'valueMap' => array(
                                'nc' => 1,
                        ),
                        'noMatch' => 'bypass',
                ),   */
                 /*
                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',
                // 'firstHitPathCache' => 1,
                 'expireDays' => 3,
                // ------------> hier unbedingt die id der Rootseite anpassen!!! <------------
                'rootpage_id' => '1'
        ),

         'fileName' => array (
                'defaultToHTMLsuffixOnPrev' => 1,
                'index' => array(
                        /*'index.html' => array(*/
                                'keyValues' => array (
                                        /*'type' => 1,*/
                                ),
                        /*),*/
                ),
        ),

         'fixedPostVarSets' => array(
        ),

        'postVarSets' => array(
        ),
);
?>

Der Server läuft mit PD-Admin und CGIWRAP. In der httpd.conf steht u.a.:

LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule php4_module modules/libphp4.so
DirectoryIndex index.html index.htm index.cgi index.php
<directory home="">
    AllowOverride All
    Options ExecCGI -Indexes SymLinksIfOwnerMatch Includes
</directory>
<virtualhost ip:80="">
ServerName www.DOMAIN.de
DocumentRoot /home/USER/www.DOMAIN.de
ServerAlias DOMAIN.de
ServerAlias www.DOMAIN.de
ServerAdmin webmaster@DOMAIN.de
ScriptAlias /cgi-sys/ /usr/local/pd-admin2/cgi-sys/
AddHandler phpwrap .php .php3 .php4
Action phpwrap /cgi-sys/php-cgiwrap/home/USER/www.DOMAIN.de/
AddHandler php5wrap .php5
Action php5wrap /cgi-sys/php5-cgiwrap/home/USER/www.DOMAIN.de/
SetEnv PHPRC /home/USER
AddHandler cgiwrap .pl .cgi
Action cgiwrap /cgi-sys/cgiwrap/home/USER/www.DOMAIN.de/
</virtualhost>

Die erste Seite mit dem Root-Template hat die ID 1, im TS ist RealURL korrekt aktiviert, wie es ja auch in jeder Anleitung steht...

Wer kann hier einen Fehler erkennen oder hat eine andere Idee, wie ich die Seite möglichst schnell wieder flott bekomme, und sei es ein guter Work-arround?
Hat CGIWRAP etwas damit zu tun, welche Parameter in der httpd.conf könnten in diesem Zusammenhang Abhilfe schaffen?

Tnx für eure Hilfe!

NilZ

NilZ ·

Moin,

just2b schrieb

mal ohne aeurltool getestet?

Jepp, ich vergas zu schreiben - ich hatte das auch alles schonmal in der localconf stehen, leider gleiches Ergebnis.

NilZ

NilZ ·

Moin,

da leider noch niemand Rat wusste, hier mal ein Auszug aus dem Rewrite-Log, evtl. kann jemand das ganze besser nachvollziehen als ich:

(2) init rewrite engine with requested uri /seite1/seite2.html
(1) pass through /seite1/seite2.html
(3) [perdir /home/USER/www.DOMAIN.de/] add path info postfix: /home/USER/www.DOMAIN.de/seite1 -> /home/USER/www.DOMAIN.de/seite1/seite2.html
(3) [perdir /home/USER/www.DOMAIN.de/] strip per-dir prefix: /home/USER/www.DOMAIN.de/seite1/seite2.html -> seite1/seite2.html
(3) [perdir /home/USER/www.DOMAIN.de/] applying pattern '^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favico\.ico)/' to uri 'seite1/seite2.html'
(3) [perdir /home/USER/www.DOMAIN.de/] add path info postfix: /home/USER/www.DOMAIN.de/seite1 -> /home/USER/www.DOMAIN.de/seite1/seite2.html
(3) [perdir /home/USER/www.DOMAIN.de/] strip per-dir prefix: /home/USER/www.DOMAIN.de/seite1/seite2.html -> seite1/seite2.html
(3) [perdir /home/USER/www.DOMAIN.de/] applying pattern 'seite2.html' to uri 'seite1/seite2.html'
(4) [perdir /home/USER/www.DOMAIN.de/] RewriteCond: input='/home/USER/www.DOMAIN.de/info' pattern='!-f' => matched
(4) [perdir /home/USER/www.DOMAIN.de/] RewriteCond: input='/home/USER/www.DOMAIN.de/info' pattern='!-d' => matched
(4) [perdir /home/USER/www.DOMAIN.de/] RewriteCond: input='/home/USER/www.DOMAIN.de/info' pattern='!-l' => matched
(2) [perdir /home/USER/www.DOMAIN.de/] rewrite 'seite1/seite2.html' -> 'index.php?id=17' --> Wo kommt diese ID her? Sie gehört nicht zur passenden Seite! Wo wird diese ID gebildet
(3) split uri=index.php?id=17 -> uri=index.php, args=id=17
(3) [perdir /home/USER/www.DOMAIN.de/] add per-dir prefix: index.php -> /home/USER/www.DOMAIN.de/index.php
(3) [perdir /home/USER/www.DOMAIN.de/] add path info postfix: /home/USER/www.DOMAIN.de/index.php -> /home/USER/www.DOMAIN.de/index.php/seite2.html
(3) [perdir /home/USER/www.DOMAIN.de/] strip per-dir prefix: /home/USER/www.DOMAIN.de/index.php/seite2.html -> index.php/seite2.html [b]???[/b]
(3) [perdir /home/USER/www.DOMAIN.de/] applying pattern '.*' to uri 'index.php/seite2.html' --> ???
(2) [perdir /home/USER/www.DOMAIN.de/] rewrite 'index.php/seite2.html' -> 'index.php'
(3) [perdir /home/USER/www.DOMAIN.de/] add per-dir prefix: index.php -> /home/USER/www.DOMAIN.de/index.php
(2) [perdir /home/USER/www.DOMAIN.de/] trying to replace prefix /home/USER/www.DOMAIN.de/ with /
(5) strip matching prefix: /home/USER/www.DOMAIN.de/index.php -> index.php
(4) add subst prefix: index.php -> /index.php
(1) [perdir /home/USER/www.DOMAIN.de/] internal redirect with /index.php [INTERNAL REDIRECT]
(2) init rewrite engine with requested uri /index.php
(1) pass through /index.php
(3) [perdir /home/USER/www.DOMAIN.de/] strip per-dir prefix: /home/USER/www.DOMAIN.de/index.php -> index.php ...

Ist das so korrekt oder an welcher Stelle verhaspelt sich der Apache?
Wo kommt die ID 17 her, die nicht zur ausgewählten Seite passt?

Dank für eure Hilfe!