Zum Inhalt springen

realURL: Klick auf name.html für zu 404

Erstellt am 11. April 2006 · 26 Antworten · letzte Antwort am 15. Mai 2006 · Seite 1 von 2

Tags: RealURL, Weiterleitungen & 404, Frage

Unbekannter Benutzer ·

Hi Leute,
bin ich da alleine, oder ist die realURL Extension schon ein ganz schöner Krampf!? #evil#
Ich habe auf einer Webseite, das Problem, dass die URLs zwar erzeugt werden, aber leider beim Anklicken eine Fehler 404 auftritt.
Mein Konfiguration sieht wie folgt aus:

.htaccess

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

localconfig.php

<?php
$TYPO3_CONF_VARS['EXTCONF']['realurl'] = array(
  'init' => array(
    'enableCHashCache' => 'TRUE',
    'appendMissingSlash' => 'ifNotFile',
  ),
  'www.meinedomain.de' => array(
    'fileName' => array(
      'defaultToHTMLsuffixOnPrev' => '1',
    ),
    'pagePath' => array(
      'type' => 'user',
      'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
      'spaceCharacter' => '-',
      'languageGetVar' => 'L',
      'expireDays' => '3',
      'rootpage_id' => '2',
    ),
  ),
);
?>

Typoscript

config {
  simulateStaticDocuments = 0
  baseURL = http://www.meinedomain.de/
  tx_realurl_enable = 1
}

Kann sich das irgendwer erklären? Alles was ich will, ist dass die URLs so ausschauen, wie der Seitentitel. Es ist kein Sprachwechsel vorgesehen, drucken kommt vermutlich später noch dazu! Wie sollte das ganz dann (sauber) aussehen?

Gruß,
Markus

P.S.: Könnte evtl. wer ein funktionierendes Beispiel posten? Fehlerhaft zu finden ist ja nicht schwer aber mal ein "so klappts tadellos bei mir (...)" fehlt mir! Bevorzugterweise schon mit Druckfunktion. 8-)

outdoor ·

Hi Markus,

Hatte gerade lezthin mit realurl zu tun -so hats bei mir geklappt:

Step1: (nur by typo3 3.7 oder niedriger nötig)
-----
Because my install works with t3-3.7, I have either to update to 3.8.1 or replace
the file t3lib/class.t3lib_db.php with a version @least 1.1.0 (I used 1.12)

http://cvs.sourceforge.net/viewcvs.py/typo3/TYPO3core/t3lib/class.t3lib_db.php?rev=1.12

Step2: (TS-setup, basic-template)
-----
# Entries for the setup of the basic-template
# The Realurl stuf. don't works with simulate static. So set to 0 and
# deactivate upper simulatic-stuff. Check also .htaccess-file
config.prefixLocalAnchors = all
config.tx_realurl_enable = 1
config.simulateStaticDocuments = 0
config.baseURL = 2 #ID of my entry-page
#config.absRefPrefix = /
#config.baseURL= http://www.mydom.com

Step3 (.htaccess-file)
----------------------
RewriteEngine On

#Stuff for T3-simulateStatic
RewriteBase /
#RewriteRule ^[^/]*\.html$ index.php
#RewriteRule ^[^/]*\.htm$ index.php

#Stuff for T3-realURL-ext
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3/.*$ - [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php

Step 4: localconf.php
---------------------

$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['linkData-PostProc'][] = 'EXT:re
alurl/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';
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'init' => array(
'enableCHashCache' => 1
),
'preVars' => array(
array(
'GETvar' => 'no_cache',
'valueMap' => array(
'no_cache' => 1,
),
'noMatch' => 'bypass',
),
array(
'GETvar' => 'L',
'valueMap' => array(
'no' => '1',
),
'noMatch' => 'bypass',
),
),
'fileName' => array (
'index' => array(
'backend.php' => array(
'keyValues' => array (
'type' => 100,
)
),
'print' => array(
'keyValues' => array(
'type' => 98,
)
),
),
),
'postVarSets' => array(
'_DEFAULT' => array (
'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]',
),
),
),
),
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '-',
'languageGetVar' => 'L',
'expireDays' => 3
),
);

realurl verträgt sich nicht mit simulateStatic. Schau, dass weder im TS-setup noch in der localconf.php simuulateStatic auf 1 gesetzt ist.

Hope this helps

Greetings outdoor

Unbekannter Benutzer ·

Hi Outdoor,

habe das grade mal getestet. Hat leider nicht funktioniert. Habe allerdings einen kleinen "Fehler" bei deinen Skripten gefunden:

config.baseURL = 2 #ID of my entry-page

muss ab 3.81

config.baseURL = http://www.meinedomain.de/

heißen. Aber du scheinst eine ältere Version zu nutzen.

Ich habe die vermutung, dass es Probleme mit dem decodieren gibt, weiß aber nicht wo da nach einer Lösung, bzw. einem Fehler suchen soll.

Gruß,
Markus

headache ·

Hallo Markus,

hast du in Deiner Apache-Konfiguration folgendes gesetzt?

    <directory c:apachehtdocs="">
        ...
        AllowOverride All
        ...
    </directory>

Nach dem ich das gesetzt habe, war der Error 404 auch weg.

Ich habe aber noch ein Problem mit realurl:
Die statischen Links wurden beim MouseOver auch korrekt angezeigt, jedoch haben die mich nur auf die Startseite zurückverlingt. Hast Du vielleicht eine Idee woran das liegen könnte?

headache ·

Hallo Markus,

hast du in Deiner Apache-Konfiguration folgendes gesetzt?

    <directory>
        ...
        AllowOverride All
        ...
    </directory>

Nach dem ich das gesetzt habe, war der Error 404 auch weg.

Ich habe aber noch ein Problem mit realurl:
Die statischen Links wurden beim MouseOver auch korrekt angezeigt, jedoch haben die mich nur auf die Startseite zurückverlingt. Hast Du vielleicht eine Idee woran das liegen könnte?

headache ·

Hallo Markus,

hast du in Deiner Apache-Konfiguration "AllowOverride All" gesetzt?

Nach dem ich das gesetzt habe, war der Error 404 auch weg.

Ich habe aber noch ein Problem mit realurl:
Die statischen Links wurden beim MouseOver auch korrekt angezeigt, jedoch haben die mich nur auf die Startseite zurückverlingt. Hast Du vielleicht eine Idee woran das liegen könnte?

Unbekannter Benutzer ·

Auf den Apache habe ich keinen Zugriff das liegt bei meinem Webhoster. Da der Webserver aber eigentlich gleich sein sollte, mit dem, den wir in der Firma haben, sollte das eigentlich funktionieren. Ich könnte aber mal den technischen Support anrufen. Gibts ne möglichkeit sowas abzufragen? Bspw. sowas wie phpinfo?
Bezüglich deines Fehlers kann ich dir leider nicht weiter helfen. Wie gesagt, realURL ist für mich ein Monster.

Markus

outdoor ·

Hi Markus,

Habe allerdings einen kleinen "Fehler" bei deinen Skripten gefunden:

config.baseURL = 2 #ID of my entry-page

muss ab 3.81
config.baseURL = http://www.meinedomain.de/

heißen. Aber du scheinst eine ältere Version zu nutzen.

Es steht auch, dass ich die 3.7 verwendet habe (Der eintrag für die 3.8+ ist schön darunter und ausgeklammert). Der Vollständigkeit halber:

config.baseURL = 2 #ID of my entry-page (Typo3 Versionen <= 3.7
config.baseURL = http://www.meinedomain.de/(Typo3 Versionen >= 3.8

..bei 3.7 ev. die class.t3lib_db.php auf 1.12 upgraden nicht vergessen.

Das Beipiel funktioniert bei mir einwandfrei unter 3.7 unter Sun Solaris 9 und unter Einbezug der config.baseURL-aenderung unter 3.8.1 / Suse.

headache ·

Hallo Markus,

bist Du schon weitergekommen? Für mich ist realurl auch gerade der Horror...

Also über die phpinfo() bekommt man das nicht raus. Hast Du Deinen Webhoster schon kontaktiert?

headache ·

Igendwie scheint mein Posting nicht mehr zu funktionieren. Antworten werden erstellt, aber beim Senden bekomme ich immer eine Fehlermeldung. Was hat das zu bedeuten?

Unbekannter Benutzer ·

Japp, hat es! Es gibt einen Fehler 8-)

Ja, habe ich! Also bei mir liegt die Sachlage wie folgt:
Ich bin Kunde bei HostEurope, habe dort ein Webpack M! Laut dem technischen Support gibt es die volle mod_rewrite und .htaccess Unterstützung aber erst ab Webpack L. Der phpinfo() nach war das Modul installiert, aber die scheinen das sonst noch irgendwie begrenzt zu haben. Daher habe ich auch eben ein upgrade gemacht. Der vergleichbare Webserver von dem ich sprach war ein Webpack XL, das für unsere Firmenwebseite nutzen.
Was mir aber noch eingefallen ist: Frag bei deinem Hoster doch mal nach Proxies. Denn bei mir kann ich auf PHP4 umschalten. Dann lese ich zwar in der phpinfo(), dass es mod_rewrite gibt, aber der zwischengeschaltete Proxy verhindert ordentliches arbeiten.

Gruß,
Markus

Unbekannter Benutzer ·

P.S.: Meine config aus dem ersten Post funktioniert übrigens jetzt. Die von Outdoor habe ich auch verifiziert, ist mir aber "too much". Meine finde ich "schlanker" 8-)

headache ·

Hallo Markus,

schön, dass es bei dir geklappet hat.

Also der Server steht bei uns in der Firma, habe Ihn selbst konfiguriert, aber an irgendwas scheint sich realurl noch zu stossen. Mit SimulateStatic habe ich genau die gleichen Probleme.

Die Links beim MouseOver werden korrekt angezeigt.

Habe mal meine Einstellungen veröffentlicht. Vielleicht findest Du oder jemand anderes den entscheidenden Fehler. (Wenn es nicht an der Server.Config liegt)

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '_',
'languageGetVar' => 'L',
'expireDays' => 3
'fileName' => array (
'index' => array(
'index.html' => array(
'keyValues' => array()
),),),);

Hier die .htaccess:

RewriteEngine On
RewriteRule ^typo3$ - [L]
RewriteRule ^typo3$/.*$ - [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* /index.php

Zu guter letzt das Setup:

#REALURL aktivieren
config.simulateStaticDocuments = 0
config.baseURL = http://www.meinedomain.de/
config.tx_realurl_enable = 1
config.prefixLocalAnchors = all

lg headache

PS: Verwende Windows2000 Server

stephi ·
headache schrieb
$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '_',
'languageGetVar' => 'L',
'expireDays' => 3
'fileName' => array (
'index' => array(
'index.html' => array(
'keyValues' => array()
),),),);

hm.
bei mir sieht das so aus:

$TYPO3_CONF_VARS['EXTCONF']['realurl']['_DEFAULT'] = array(
'pagePath' => array(
'type' => 'user',
'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
'spaceCharacter' => '_',
'languageGetVar' => 'L',
'expireDays' => 3
),
'fileName' => array (
     'defaultToHTMLsuffixOnPrev'=> 1
),
);

ab der zeile "'expireDays' => 3" gehts bei mir anders weiter- vielleicht versuchst du es mal so?

mfg
stephi

headache ·

Hallo stephi,

hat leider auch nicht funktioniert. Gibts es denn niemanden, der ein ähnliches Problem hat?

Vielleicht sogar jmd. bei dem alles funktioniert und der sein Setup veröffentlichen möchte.

Unbekannter Benutzer ·

Also wie gesagt, meine Konfiguration funktioniert jetzt. Das lag einzig an der Konfiguration des Webservers, die einige Funktionen beschränkte! Hast du evtl die Möglichkeit mal auf einem gänzlich anderen Server zu testen?
Wenn es da problemlos funktioniert kannst du je erstmal deinen derzeitigen Server troubleshooten.

Gruß,
Markus