NAVIGATION
This shows you the differences between two versions of the page.
|
deutsch:andere-erweiterungen:mehrere-domains [2011/03/13 09:04] Knut Heermann (flip-flop) |
deutsch:andere-erweiterungen:mehrere-domains [2018/06/03 18:09] (current) |
||
|---|---|---|---|
| Line 46: | Line 46: | ||
| --- //[[flip-flop@myrealbox.com|Knut Heermann (flip-flop)]] 2011/03/13 08:57// | --- //[[flip-flop@myrealbox.com|Knut Heermann (flip-flop)]] 2011/03/13 08:57// | ||
| + | ====== phpwcms-Portal mit mehreren Domains [Website-in Website) ====== | ||
| + | **__DIE IDEE:__**\\ | ||
| + | Mit Hilfe von ein paar logischen Zusammenhängen, wird schnell klar, dass es möglich sein muss, mit Hilfe einer weiteren TLD \\ | ||
| + | oder Subdomain bestimmte Teile der Website anzusteuern, ohne dafür ein komplettes neues System zu installieren.\\ | ||
| + | Dass man diese Art der "Website in der Website" auch für mobile Nutzungen gebrauchen kann ist nicht sofort ersichtlich, \\ | ||
| + | ergibt sich aber recht simpel aus folgender Überlegung: | ||
| + | |||
| + | * Auf mobilen Geräten ist trotz der Flatrates der Datentransfer ein Nadelöhr, also ist weniger mehr!\\ | ||
| + | * Wir brauchen z.Bsp. nur folgende Infos: -Impressum/ -eMail/ -Telefonnummer/ -Standortbeschreibung/ -Öffnungszeiten/ -Kurzangebote-Leistungen\\ | ||
| + | |||
| + | 8-) Das war's schon. Und wenn man dafür nur ein "**mobiles Layout**" als Vorlage anlegt und in die entsprechenden Rubriken/ Menüpunkte \\ | ||
| + | mit {SHOW_CONTENT Artikel aus dem Desktopbereich} hantiert, hat man neben seiner Desktopausführung schnell eine mobile Seite mit \\ | ||
| + | einer einzigen Datenbank zusammen und funktionstüchtig. Es ist weniger Arbeit, als alles noch einmal mit einem separaten CMS zu erstellen.\\ | ||
| + | |||
| + | Grundsätzlich sind alle normalen Server/ Hoster so konfiguriert, dass man mit einer TLD nur einen Ordner im Webspace ansteuern kann und \\ | ||
| + | keine Sripte. Mit Hilfe der LEVEL-ID kann man eine Website wie folgt strukturieren\\ | ||
| + | |||
| + | HOME----------(0) | ||
| + | ---WEB1-----------(1) | ||
| + | Bereich1----(2) | ||
| + | bereich2----(2) | ||
| + | bereich3----(2) | ||
| + | ---Web2 -----------(1) | ||
| + | Bereich4----(2) | ||
| + | bereich5----(2) | ||
| + | bereich6----(2) u.s.w. | ||
| + | |||
| + | Mit der TLD soll nun WEB1 oder WEB2 angesteuert werden, welche auch einen entsprechenden alias-Namen haben.\\ | ||
| + | WEB1 und WEB2 werden/ können unterschiedliche Layouts und HTML-Vorlagen zugeordnet. Dadurch sieht WEB1 u.U. \\ | ||
| + | vöiig anders aus als WEB2.\\ | ||
| + | |||
| + | **__Der Lösungsansatz:__**\\ | ||
| + | |||
| + | Voraussetzung für eine solche Lösung ist unbedingtes Einhalten einer LEVEL-ID-Struktur.\\ | ||
| + | Ebenfalls braucht man eine Menüführung, die nur in diesem Level funktioniert und keine höheren Level ansteuert! \\ | ||
| + | Ich habe dafür eine horizontale Menüführung modifiziert: | ||
| + | |||
| + | In der Vorlage wurde folgendes Installiert: | ||
| + | |||
| + | <code php><div style="position:absolute; top:110px; right:0px;" id="menu_container"> | ||
| + | { NAV_HORIZ_DD:XXX,3 } | ||
| + | </div></code> | ||
| + | |||
| + | Die ID XXX ist der Beginn von einem ausgewählten Webbereich für eine bestimmte TLD. \\ | ||
| + | Ebenso werden die anderen Menüs verwendet. Bis zu einer relativen Tiefe 3 werden die Menüs entsprechend angezeigt. | ||
| + | |||
| + | ===== Ansteuerung durch TLD auf alias ===== | ||
| + | |||
| + | Die gesamte phpWCMS-Konstruktion beginnt IMMER bei HOME (Level 0). Genau hier muss spätestens die Entscheidung fallen, \\ | ||
| + | welche TLD wurde aufgerufen, wohin soll die Reise gehen? | ||
| + | |||
| + | Dafür habe ich ein kleines Script zusammengeschrieben, dass man in einen HTML-CP unter HOME ablegt, welches diese Fragen beantwortet: | ||
| + | |||
| + | <code php>[ PHP ] | ||
| + | $DomainName = strtolower($_SERVER['HTTP_HOST']); | ||
| + | // www. in Domainname nicht enthalten? | ||
| + | if (strpos($DomainName,'www.') === false) | ||
| + | { $DomainName = "www.".$DomainName; } | ||
| + | switch($DomainName) | ||
| + | { | ||
| + | |||
| + | case 'www.MeineTLD1.de': | ||
| + | header( "HTTP/1.1 301 Moved Permanently" ); | ||
| + | headerRedirect('/aliasTLD1.html'); | ||
| + | break; | ||
| + | |||
| + | case 'www.lMeineTLD2.de': | ||
| + | header( "HTTP/1.1 301 Moved Permanently" ); | ||
| + | headerRedirect('/aliasTLD2.phtml'); | ||
| + | break; | ||
| + | |||
| + | default: ..... | ||
| + | } | ||
| + | |||
| + | [ /PHP ]</code> | ||
| + | Das geht natürlich auch mit obiger IF-Schleife - bei weniger Domainabfragen. In meinem Projekt werden aber z.Zt 15 TLD \\ | ||
| + | abgefragt, so dass die Übersicht mir CASE besser ist. Wer es sicherer(?) haben will, macht mit ein paar Ergänzungen ein \\ | ||
| + | "echtes" PHP-Script daraus und legt es unter:\\ | ||
| + | \\ | ||
| + | **//\template\inc_script\frontend_render//** \\ | ||
| + | \\ | ||
| + | ab. **__Wichtig:__** Suchmaschinen machen keine Zicken bei der gezielten Weiterleitung! | ||
| + | |||
| + | {{:deutsch:andere-erweiterungen:frontend:portal.jpg|}} | ||
| + | |||
| + | Aus [[http://spielwiese.strausberg-nord.de/portalaufbau.html|"kukkis Spielwiese"]]: | ||