Page 1 of 1

phpwcms auf haupt- und subdomain?

Posted: Fri 21. Mar 2008, 21:04
by kaiser-web
Moin,

habe gerade ein frisches phpwcms 1.3.3 installiert unter http://www.domain.tld.
Ich möchte damit gerne zwei inhaltlich und optisch verschiedene Seiten laufen lassen: zum einen die auf der hauptseite http://www.domain.tld (real doc root: var/www/domain.tld/htdocs/) und eine auf der subdomain http://www.subdomin.domain.tld (real doc root var/www/domain.tld/subdomain/htdocs/).
Ist das überhaupt mit einer Installaton möglich? Wenn ja, wie?

Beste (osterliche) Grüße,
kaiser-web

Re: phpwcms auf haupt- und subdomain?

Posted: Sat 22. Mar 2008, 07:09
by juergen
falsch verstanden ... wegradiert ;)

Re: phpwcms auf haupt- und subdomain?

Posted: Sat 22. Mar 2008, 10:18
by Oliver Georgi
Davon ist abzuraten.

Es sind 2 getrennte Verzeichnisse und demzufolge gleichbedeutend 2 getrennte Installationen. Plesk (scheint darunter zu laufen) ist in dieser Hinsicht leider vollkommen bescheuert.

Auch das Handhaben mit einer Datenbank ist nicht zu empfehlen, da einfach die Pfade nicht sauber hinhauen. Das fängt bei hochgeladenen Dateien an und zieht sich durch Templates usw.

Sinnvoll machbar wäre das nur mittels Hauptdomain und den Alias-Domains innerhalb von Plesk. Dabei linkt das System immer in das gleiche Webroot. Über frontend_init ist dann ein effektives Filtern möglich.

Oliver

Re: phpwcms auf haupt- und subdomain?

Posted: Sat 22. Mar 2008, 11:55
by kaiser-web
Danke erst mal für eure schnelle Hilfe!
Oliver Georgi wrote:Plesk (scheint darunter zu laufen) ist in dieser Hinsicht leider vollkommen bescheuert.
nein, es läuft dahinter kein Plesk, sondern ispCP, eine Weiterentwicklung von VHCS.
Oliver Georgi wrote:Sinnvoll machbar wäre das nur mittels Hauptdomain und den Alias-Domains innerhalb von Plesk. Dabei linkt das System immer in das gleiche Webroot. Über frontend_init ist dann ein effektives Filtern möglich.
Und das ganze mit "frontend_init" funktioniert genau WIE?

Kann man sowas nicht auch mit "rewrite" lösen? Gibt's dazu eine Anleitung?

Osterliche Grüße,
kaiser-web

Re: phpwcms auf haupt- und subdomain?

Posted: Sat 22. Mar 2008, 19:32
by Oliver Georgi
Also prinzipiell könntest Du das auch mit "rewrite" hinbiegen. Ist aber zu komplex.

Mittels frontend_init kannst Du ein Script einbinden, das zur Laufzeit prüft, welche Domain gerade aufgerufen wurde. Damit kann man dann z.B. immer auf die korrekte Startseite innerhalb des CMS lenken oder prüfen, ob Inhalte aus dem CMS überhaupt für diese Domain angezeigt werden dürfen. Das ist nichts anderes als was ich z.B. mit Sprachweiterschaltung realisiere. Da läuft es halt nicht über den Domainnamen sondern über die im Browser verwendete Sprache.

Oliver

Re: phpwcms auf haupt- und subdomain?

Posted: Sun 23. Mar 2008, 00:22
by novallis
Unter folgendem Tread habe ich mal meine Skriptlösung gepostet.
http://forum.phpwcms.org//viewtopic.php?p=94487#p94487

Hier zur Info der Inhalt meines Postings/meine Lösung:
novallis wrote:Also ich habe auch mehrere Domains, die auf eine phpwcms-Installation (1.3.3) zugreifen und habe das nach viel Probiererei (die Lösungen weiter oben wollten bei mir nicht funktionieren) so gelöst:

Ausgangspunkt:

http://www.domain1.de -> soll "einspringen" in die Site bei http://www.domain1.de/index.php?domain1

http://www.domain2.de -> soll "einspringen" in die Site bei http://www.domain2.de/index.php?domain2

http://www.domain3.de -> soll "einspringen" in die Site bei http://www.domain3.de/index.php?domain3

Lösung:
Ich habe eine Datei "domainswitch.php" unter
template/inc_script/frontend_init/
abgelegt, sowie in der Datei "conf.inc.php" folgende Einstellung gesetzt:

Code: Select all

 $phpwcms['allow_ext_init']    = 1; 
Inhalt der Datei "domainswitch.php":

Code: Select all

<?php
if($aktion[0] == 0) { 
switch ($_SERVER["SERVER_NAME"]) {
case 'domain1.de':
         header( "HTTP/1.1 301 Moved Permanently" ); 
         headerRedirect('domain1.de/index.php?domain1');
    break;
case 'www.domain1.de':
         header( "HTTP/1.1 301 Moved Permanently" ); 
         headerRedirect('www.domain1.de/index.php?domain1');
    break;
case 'domain2.de':
         header( "HTTP/1.1 301 Moved Permanently" ); 
         headerRedirect('domain2.de/index.php?domain2');
    break;
case 'www.domain2.de':
         header( "HTTP/1.1 301 Moved Permanently" ); 
         headerRedirect('www.domain2.de/index.php?domain2');
    break;
case 'www.domain3.de':
         header( "HTTP/1.1 301 Moved Permanently" ); 
         headerRedirect('www.domain3.de/index.php?domain3');
    break;
  }
}
?>
Ich habe alle Domains auf das gleiche Standard-Verzeichnis mit der phpwcms-Installation gelegt.

Einziges Problem: Das Sitemap vermischt alle "Sites" zu einer.

Grüße,
Ralf

Re: phpwcms auf haupt- und subdomain?

Posted: Sun 23. Mar 2008, 01:38
by Jensensen
novallis wrote:...Einziges Problem: Das Sitemap vermischt alle "Sites" zu einer...
U.a.m -->
das ist doch nur virtuelles rumgehopse...
und hilft in der frage {ich sag nee} von kaiser-web nicht weiter.

Man kann in einer "zweiten"--> conf.inc.php problemlos eine "zweite" Datenbank [komplett --> andere settings] antriggern
ggf. zentrale directories [leer] rüberkopieren {filearchive...}
[teste/überlege auf diese Frage hin, komme aber zum ergebnis, dass]
schlussendlich macht's keinen sinn, und führt nur [falls doch irgendwie möglich] zu reichlich trouble inne directories....
{wo dann keiner mehr durchblickt}.

M.E. ist da schneller eine "zweite" Installation auf der subdomain lauffähig [was ich immer so mache...]
schwupp := schoeneneuewebsite.auf_altem_kollegen_aber_wirst_bald_umgeswitched. de

und mit DSL mal eben den latest late snapshot hochladen dauert ca. 20 min - danach ist ruhe...

PS: --> Zu 'redirect' und server performance: http://developer.yahoo.com/performance/ ... #redirects

Re: phpwcms auf haupt- und subdomain?

Posted: Sun 23. Mar 2008, 07:53
by Oliver Georgi
Für eine entsprechende Sprachumschaltung ist $LEVEL_ID die richtige Variable. Damit kann man dann auch prüfen, ob man sich gerade im richtigen Seitenbaum der Seite für die gerade aufgerufene Domain befindet.

Hier meine bewährte Sprachumschaltungslösung für Deutsch/Englisch:

Code: Select all

if(!isset($LEVEL_ID[1])) {

	// get browser language
	$lang		= isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ? substr( preg_replace('/(;q=\d+.\d+)/i', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'] ), 0, 2 ) : 'EN';

	// we only compare against DE, otherwise use default (here EN)
	$target_doc	= strtolower($lang) === 'de' ? 'lang-de' : 'lang-en';

	// Redirect using "moved permanent "
	headerRedirect( PHPWCMS_URL.'index.php?'.$target_doc, 301 );

} 
Oliver