Zum Inhalt springen

RealUrl Multidomain Problem

Erstellt am 7. Juni 2006 · 11 Antworten · letzte Antwort am 5. Januar 2007

Tags: Frage

semidark ·

Hallo Board,

Ich habe vom SimulateStatic auf Realurl umgestellt und bin mit den Ergebnissen auch sehr zufrieden. Leider hat meine RealUrl Konfiguration probleme damit mehere Webseiten/Domains richtig außeinander zu halten. Wenn in 2 unterschiedlichen Domains der selbe Seitenpfad generiert wird funktioniert die Seite nur in einer Domain.

Beispiel:

example1.com/kontakt/formular.html (funktioniert)
example2.com/kontakt/formular.html (Inhalt der Startseite von example2.com wir angezeigt)

Da ich mir schon dachte dass das Problem in meiner wild zusammen geklauten realurl konfiguration liegt, habe ich dann erstmal mit hilfe der realurl Dokumentation versucht diese zu verstehen und zu berichtigen. Hierbei ist mir dann schon aufgefallen das meine alte Konfiguration die rootPageID (zeile 12 und 20) nicht für die Domain übergeben hat.

Nun habe ich also folgende minimal Konfiguration zusammengebaut stehe aber immer noch vor dem selben Problem #angry#

/* ************************************************************************
 *  www.example1.com Konfiguration 
***************************************************************************/
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['www.example1.com'] = array(
	'init' => array(
		'enableCHashCache' => 1,
		'enableUrlDecodeCache' => 1,
		'enableUrlEncodeHash' => 1,
		//'enableDomainLookup' => 1, // auch schon versucht
		'rootPageID' => 194,
	),
	'pagePath' => array(
		'type' => 'user',
		'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
		'spaceCharacter' => '-',
		'languageGetVar' => 'L',
		'expireDays' => 60,
		'rootpage_id' => 194,
	),
	'fileName' => array (
		'defaultToHTMLsuffixOnPrev' => 1,
		'index' => array(
			'page.html' => array(
				'keyValues' => array (
					'type' => 1,
				),
			),
		),
	),
);

/* ************************************************************************
 *  www.example2.com Konfiguration 
***************************************************************************/

$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['www.example2.com'] = array(
	'init' => array(
		'enableCHashCache' => 1,
		'enableUrlDecodeCache' => 1,
		'enableUrlEncodeHash' => 1,
		//'enableDomainLookup' => 1, // auch schon versucht
		'rootPageID' => 1299,
	),
	'pagePath' => array(
		'type' => 'user',
		'userFunc' => 'EXT:realurl/class.tx_realurl_advanced.php:&tx_realurl_advanced->main',
		'spaceCharacter' => '-',
		'languageGetVar' => 'L',
		'expireDays' => 60,
		'rootpage_id' => 1299,
	),
	'fileName' => array (
		'defaultToHTMLsuffixOnPrev' => 1,
		'index' => array(
			'page.html' => array(
				'keyValues' => array (
					'type' => 1,
				),
			),
		),
	),
);

Wäre dankbar für jeden Tipp und jede Hilfe

Gruß Semidark

semidark ·

Hallo Woida,

danke für die schnelle Antwort

Kann ich für die beiden Seiten mit einem großen JA beantworten da ich Anfangs erhebliche Probleme mit der <base> Anweisung im HTML Header hatte (Keine Bilder, Kaputte links usw.)

Allerdings befinden sich in der Typo3 Datenbank nicht nur diese zwei Webseiten sondern noch ein paar andere an denen ich gerade arbeite um Sie für RealUrl fit zu machen. Das sollte doch aber eigentlich keinen unterschied machen... Oder doch :o

Gruß Semidark

semidark ·

Hallo zusammen

jetzt habe ich auch wie Woida vorgeschlagen hat in allen 8 Domains die baseURL eingetragen und die RealURL konfiguration vervollständigt. Die baseURL einstellung funktioniert auch innerhalb einer einzelnen Webseite da die Links und Bilder einwandfrei funktionieren. Hier zur info noch der Setup Config ausschnitt aus meinem TS Templates wobei natürlich die baseURL für jede domain angepasst ist

config {
  baseURL = http://www.example1.com/
  content_from_pid_allowOutsideDomain = 1
  disablePrefixComment = 1
  simulateStaticDocuments = 0
  tx_realurl_enable = 1 
  prefixLocalAnchors = all
}

Nur besteht weiterhin mein altes bereits beschriebenes Problem.

Sieht jemand einen fehler?

Gruß Semidark

semidark ·

Hallo Forum,

ich verzweifle wirklich an diesem verflixten RealUrl Problem. Ich werde jetzt als workaround von Hand dafür sorgen das erstmal die mehrdeutigen realurl pfade durch unterschieldiche alias einstellungen aufgelöst werden können.

Bsp:

http://www.example1.com/impressum.html
http://www.example2.com/impressum2.html

Nur kann das ja nicht der Weisheit letzter schluss sein. Sieht erstmal ziemlich behindert aus und kann bei der Selbstpflege der Redakteure zu irritationen führen.

Hat denn niemand eine RealUrl Installation mit unterschiedlichen domains/Webseiten?

Gruß Semidark

semidark ·

Da mein Realurl leider immernoch instabiel läuft habe ich mir heute nochmal die Config reingezogen und einen Tippfehler gefunden der hier im Forum häufig die runde macht und den ich wohl auch hier her kopiert habe...

im init bereich des Arrays muss der Key

'enableUrlEncodeCache' => 0,

lauten und nicht

'enableUrlEncodeHash' => 0,

Leider funktioniert danach die Aufläsung der PageIDs immer noch nicht richtig aber eventuell geht es in die richtige richtung.

Gruß Semidark

mikado1 ·

Ich habe ein ähnliches Problem. Das ist auch zum Haareraufen. #angry#

Domain 1 zeigt auf die Wurzel des Seitenbaumes. In den Tiefen des Baumes kommt dann Domain 2, die eine Art Microsite darstellt. Ich habe sie nicht parallel zu Domain 1 installiert, weil sie fast alle Konfiguration erben soll. Das, was anders sein soll, habe ich mit einem Template überschrieben. Dort steht im TS auch die baseURL. Klappt eigentlich ganz gut.

Aber: Jetzt möchte ich eine Unterseite von Domain 1 verlinken. Beim Linktyp wähle ich also externe URL und gebe die komplette URL dort ein. Nur leider bekomme ich www.Domain1.de dort immer abgeschnitten. Er macht daraus eine interne URL, obwohl ich das nicht wollte. Markiere ich den Link und editiere ihn, sehe ich, dass er auf eine Seite im Baum zeigt (also intern). Ich wollte aber extern.

Als quick'n'dirty-Lösung habe ich das jetzt mit einer RewriteRule gelöst. Aber das kann's ja nicht sein.
Ist das veilleicht ein alter Bug? Ich habe reaurl 0.3.0 und im TER gibt's schon die 1.1.0. Ich würde ja ein Update machen, aber dort finde ich keine Aussage dazu, ob die neue Version auch noch mit TYPO3 3.8.0 läuft. Kann beim Update was schief gehen?

semidark ·

Hallo Mikado1,

Du kannst für Typo 3.8 höchstens die version 1.0 von realurl installieren. Die aktuellere version läuft nur mit Typo3 4.0.

Dummerweise benutze ich schon die aktuellste version und habe genau das selbe Problem. Leider konnte ich bis heute noch keine Lösung finden.

Gruß Semidark

mikado1 ·

Hallo Semidark,

danke für die Info. Hmm, das ist alles noch ziemlich buggy. Kann sein, dass dieses spezielle Problem auch durch den RTE mitverursacht wird. Aber auch sonst scheint mir realurl noch nicht so ganz ausgereift zu sein.
Na ja, aber da es keine Alternative gibt, schaut man dem geschenkten Gaul halt nicht in's Maul, sondern fixt es mit RewriteRules. 😢

mikado1 ·

So, ich habe jetzt ein Update auf 1.0.0 gemacht. Bis auf folgende Fehlermeldung im Ext Manager klappte das auch.

No XCLASS inclusion code found in file "class.tx_realurl_userfunctest.php"
The XCLASS filename-key "ext/cachemgm/modfunc1/class.tx_realurl_modfunc1.php" was different from "ext/realurl/modfunc1/class.tx_realurl_modfunc1.php" which it should have been!

Ich weiß zwar nicht, was mir die Fehlermeldung sagen will, aber die Extension klappt noch. Neu ist jetzt die Funktion "Redirects", die ganz nett ist. Sonst habe ich Kurz-URLs immer per Hand als RewriteRule in der .htaccess eingegeben. Dass die Konfiguration jetzt auch ohne Bearbeitung der localconf.php geht, ist auch ein Fortschritt.

Das geschilderte Problem besteht leider immer noch. Die Extension kommt einfach nicht richtig klar mit mehreren Domains.

mikado1 ·

So ein Mist. Jetzt habe ich mit dem Update auf 1.0.0 alles verschlimmert. Eigentlich gehört's hier nicht hin, aber vielleicht kann mir trotzdem jemand helfen.

Seit dem Update habe ich Probleme mit dem Frontend-Login. Dort ist ja im TS eine Seiten-ID für Login und Logout angegeben. Bei mir macht er jetzt aber solche Pfade:
/de/pfad/zur/seite/index.php?id=123

Das endet natürlich in einem 404. Jemand eine Idee, wie ich das fixen kann?

Edit: Ok, hab's gefunden. Im TS der FE-Login-Extension als redirect-Wert einfach keine ID angeben, sondern 'index'. Im Quelltext habe ich nämlich gefunden, dass wenn $page_ID kein intval ist, dann baut er sich den Pfad mit aktuelles_Verzeichnis/$page_ID.html zusammen.
Wenn ich also index schreibe, ruft er immer im aktuellen Verzeichnis die index.html auf. War zwar wohl ursprünglich für simulate-static gedacht, klappt aber so auch mit realurl.
Vielleicht kann das ja noch jemand gebrauchen.

AZart ·

Ich habe mir einfach den Default-Array genommen und nur die RootPageID geändert, dann ging.
+ Nichtvergessen das für Typo3 www.example.com und example.com unterschiedliche Domains sind. Ich habe heute gewonnen 🙂

/*	example.com    */
// erstmal default-configuration uebernehemen
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['example.com'] = 
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['www.example.com'] =  $TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'];

// dann root-page-id anpassen
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['example.com'] ['pagePath'] ['rootpage_id'] = 
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['www.example.com'] ['pagePath'] ['rootpage_id'] = '96';


/*	example2.com          */
// erstmal defgault-configuration uebernehemen
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['example2.com'] = 
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['www.example2.com'] =  $TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'];

// dann root-page-id anpassen
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['example2.com'] ['pagePath'] ['rootpage_id'] = 
$TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['www.example2.com'] ['pagePath'] ['rootpage_id'] = '157';

Davor ist ist natürlich ein Array $TYPO3_CONF_VARS['EXTCONF'] ['realurl'] ['_DEFAULT'] angelegt, dessen inhalt eigentlich egal sein darf.

Viel Glück!