contenido mandant auf mehreren domains?
contenido mandant auf mehreren domains?
hallo community
besteht die möglichkeit einen contenidomandant auf mehreren domains laufen zu lassen?
wenn ich jetzt contenido auf domain1 konfigurier und von domain2 darauf zugreife werden immer noch die urls von domain1 angezeigt - kann man das irgendwie regeln?
danke!
besteht die möglichkeit einen contenidomandant auf mehreren domains laufen zu lassen?
wenn ich jetzt contenido auf domain1 konfigurier und von domain2 darauf zugreife werden immer noch die urls von domain1 angezeigt - kann man das irgendwie regeln?
danke!
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Re: contenido mandant auf mehreren domains?
Contenido setzt automatisch einen BASE-Tag, der den Einstellungen beim Mandanten entspricht. Soweit ich das in den Snapshots gesehen habe, wird das aber in der nächsten Version einstellbar sein, ob der BASE-Tag gesetzt werden soll.phatbyte hat geschrieben:besteht die möglichkeit einen contenidomandant auf mehreren domains laufen zu lassen?
wenn ich jetzt contenido auf domain1 konfigurier und von domain2 darauf zugreife werden immer noch die urls von domain1 angezeigt - kann man das irgendwie regeln?
ansatzweise könnte so ausschauen:
du definierst in den mandanteneinstellungen alternativ urls ...
danach musst du einen hack in der front_content.php setzen, und zwar dort wo der base tag gesetzt wird. dort schaust du nämlich nach wie der aktuelle HTTP_HOST lautet, über den diese domain erreicht wurde. danach suchst du in den cfgClient einstellungen nach den alternativ-namen und ob er vorkommt. wenn ja, dann soll er bitte diesen servernamen nehmen statt dem basis mandantenpfad.
habe kein script oder sowas da, aber das wäre die vorgehensweise.
du definierst in den mandanteneinstellungen alternativ urls ...
danach musst du einen hack in der front_content.php setzen, und zwar dort wo der base tag gesetzt wird. dort schaust du nämlich nach wie der aktuelle HTTP_HOST lautet, über den diese domain erreicht wurde. danach suchst du in den cfgClient einstellungen nach den alternativ-namen und ob er vorkommt. wenn ja, dann soll er bitte diesen servernamen nehmen statt dem basis mandantenpfad.
habe kein script oder sowas da, aber das wäre die vorgehensweise.
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
-
- Beiträge: 3626
- Registriert: Di 12. Okt 2004, 20:00
- Wohnort: Voerde (Niederrhein)
- Kontaktdaten:
Probier mal aus in der "front_content.php" die Zeile 752 auszukommentieren, also statt:phatbyte hat geschrieben:ui das ist schlecht gibts denn keine anderen workarounds? könnte man sowas mit apache rewriten?
Code: Alles auswählen
$code = str_ireplace_once("<head>", "<head>\n".$baseCode, $code);
Code: Alles auswählen
//$code = str_ireplace_once("<head>", "<head>\n".$baseCode, $code);
so, ich habe das ganze mal so umgesetzt, dass man das auch verwenden kann, wenn man mehere domains drauf verweisen hat UND den base tag benötigt (z.b. wenn man meine mod rewrite erweiterung nutzt)
front_content.php öffnen, suche der stelle (zeile 746):
und ersetzen durch dieses snippet:
danach kann man in den mandanten einstellungen die verschiedenen domain-frontend-html paths wie folgt setzen:
type: client
name: frontend_path[n]
(also die [n] ist numerisch und kann ab 1 hochgezählt werden, wenn man 5 verschiedene domains hat kann man die namen z.b. frontend_path1, frontend_path3, frontend_path7 etc. nutzen)
value: http://www.domain.de/cms/
(also das was in den base tag geschrieben wird, also im klartext: zusätzliche urls die in den mandanten eigenschaften im feld "Web-Addresse" gesetzt werden können. wichtig hierbei: immer mit dem mandantenverzeichnis setzen!)
front_content.php öffnen, suche der stelle (zeile 746):
Code: Alles auswählen
$is_XHTML = getEffectiveSetting('generator', 'xhtml', false);
if ($is_XHTML == true) {
$baseCode = '<base href="'.$cfgClient[$client]["path"]["htmlpath"].'" />';
} else {
$baseCode = '<base href="'.$cfgClient[$client]["path"]["htmlpath"].'">';
}
$code = str_ireplace_once("<head>", "<head>\n".$baseCode, $code);
Code: Alles auswählen
// edit by stese - ModRewrite multi domain hack
// resolves additional frontend_paths and check if
// current host is defined as additional frontendpath
// if true, use new frontendpath for base tag
// if false, use default client html path for base tag
$str_new_htmlpath = $cfgClient[$client]["path"]["htmlpath"];
cInclude('classes', 'contenido/class.client.php');
$oClient = new cApiClient($client);
$arr_settings = $oClient->getProperties();
foreach ($arr_settings as $arr_client) {
if ( $arr_client["type"] == "client" && strstr($arr_client["name"],"frontend_path") !== false ) {
$arr_urlsettings = parse_url($arr_client["value"]);
if ($arr_urlsettings["host"] == $_SERVER['HTTP_HOST'] || ("www." . $arr_urlsettings["host"] ) == $_SERVER['HTTP_HOST'] || $arr_urlsettings["host"] == "www." . $_SERVER['HTTP_HOST'] ) {
$str_new_htmlpath = $arr_client["value"];
}
}
}
$is_XHTML = getEffectiveSetting('generator', 'xhtml', false);
if ($is_XHTML == true) {
$baseCode = '<base href="'.$str_new_htmlpath.'" />';
} else {
$baseCode = '<base href="'.$str_new_htmlpath.'">';
}
$code = str_ireplace_once("<head>", "<head>\n".$baseCode, $code);
// end edit
type: client
name: frontend_path[n]
(also die [n] ist numerisch und kann ab 1 hochgezählt werden, wenn man 5 verschiedene domains hat kann man die namen z.b. frontend_path1, frontend_path3, frontend_path7 etc. nutzen)
value: http://www.domain.de/cms/
(also das was in den base tag geschrieben wird, also im klartext: zusätzliche urls die in den mandanten eigenschaften im feld "Web-Addresse" gesetzt werden können. wichtig hierbei: immer mit dem mandantenverzeichnis setzen!)
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
dieser Thread ist zwar schon etwas angestaubt, ich hatte aber trotzdem damit zu tun.
Ich verwende die 4.6.23mr_v0.3 und habe 3 verschiedene Domains für einen Mandanten.
Ich finde Dein Vorschlag super stese, ich habe ihn aber verkürzt eingebaut. Und zwar nach der Zeile
nur diesen Block hinzugefügt:
Der Vorteil davon ist, dass man nichts ersetzen, sondern nur hinzufügen muss... naja. (hab einfach den Variabel-Name "str_new_htmlpath" bei "str_base_uri" belassen, wie in der original front_content.php.)
Dies wie gesagt bei einer 4.6.23er mit mr v0.3.
Gibt es eventuell schon andere Lösungsansätze, die schon drin sind, ich aber nur noch nichts davon weiss??
However, so klappt's super.
Gruss
Conradius
Ich verwende die 4.6.23mr_v0.3 und habe 3 verschiedene Domains für einen Mandanten.
Ich finde Dein Vorschlag super stese, ich habe ihn aber verkürzt eingebaut. Und zwar nach der Zeile
Code: Alles auswählen
$str_base_uri = $cfgClient[$client]["path"]["htmlpath"];
Code: Alles auswählen
// edit by stese - ModRewrite multi domain hack
// resolves additional frontend_paths and check if
// current host is defined as additional frontendpath
// if true, use new frontendpath for base tag
// if false, use default client html path for base tag
//$str_base_uri = $cfgClient[$client]["path"]["htmlpath"];
cInclude('classes', 'contenido/class.client.php');
$oClient = new cApiClient($client);
$arr_settings = $oClient->getProperties();
foreach ($arr_settings as $arr_client) {
if ( $arr_client["type"] == "client" && strstr($arr_client["name"],"frontend_path") !== false ) {
$arr_urlsettings = parse_url($arr_client["value"]);
if ($arr_urlsettings["host"] == $_SERVER['HTTP_HOST'] || ("www." . $arr_urlsettings["host"] ) == $_SERVER['HTTP_HOST'] || $arr_urlsettings["host"] == "www." . $_SERVER['HTTP_HOST'] ) {
$str_base_uri = $arr_client["value"];
}
}
}
// end edit
Dies wie gesagt bei einer 4.6.23er mit mr v0.3.
Gibt es eventuell schon andere Lösungsansätze, die schon drin sind, ich aber nur noch nichts davon weiss??
However, so klappt's super.
Gruss
Conradius
Hallo,
ich benutze auch 4.6.23mr_v0.3, doch auch nach dem Einfügen der Zeilen bekomme ich immer nur Error 404 - Not found.
Ich habe in den Mandanteneinstellungen folgendes:
client frontend_path1 http://www.domain2.de/cms/
client frontend_path2 http://www.domains1.de/cms/
Habt ihr eine Idee, woran es liegen könnte?
Ich habe übrigens den Weg von Conradius befolgt.
ich benutze auch 4.6.23mr_v0.3, doch auch nach dem Einfügen der Zeilen bekomme ich immer nur Error 404 - Not found.
Ich habe in den Mandanteneinstellungen folgendes:
client frontend_path1 http://www.domain2.de/cms/
client frontend_path2 http://www.domains1.de/cms/
Habt ihr eine Idee, woran es liegen könnte?
Ich habe übrigens den Weg von Conradius befolgt.
hey Hammy,
probiers mal aus ohne "cms/", also:
schliesslich hast Du ja mr aktiviert und schreibst wohl das "cms/" nicht in Deiner url.
Gruss
Conradius
probiers mal aus ohne "cms/", also:
Code: Alles auswählen
client frontend_path1 http://www.domain2.de/
client frontend_path2 http://www.domains1.de/
Gruss
Conradius
-
- Beiträge: 486
- Registriert: Do 23. Feb 2006, 19:42
- Wohnort: Tirschenreuth / Oberpfalz / Bayern
- Kontaktdaten:
Hallo,conradius hat geschrieben:ich habe eine Installation mit 4.6.23 am Laufen, inkl. mehrer Domains. Das funktioniert!
funktioniert das snippet auch in einer 4.8.8, hat das schon einer am laufen?
Späte Rückmeldung, aber es funktioniert (getestet http://forum.contenido.org/viewtopic.ph ... 543#111543) mit einer 4.8.8 ohne Probleme.
Zuletzt geändert von BagHira am Sa 25. Okt 2008, 17:59, insgesamt 1-mal geändert.
Gruß Holger
Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.
Handgewickelte Glasperlen Facebook Google+
Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.
Handgewickelte Glasperlen Facebook Google+