Erik Range
Multi-(Sub)Domain-WordPress
Manchmal wäre es doch recht sinnvoll und praktisch, wenn man mit einer WordPress-Instanz direkt mehrere Domains, respektive Subdomains bedienen könnte. Sinnvoll zum Beispiel dann, wenn man pro Subdomain eine andere Sprache anbieten möchte (de.domain.tld, en.domain.tld, fr.domain.tld). Üblicherweise wird hier zu mehreren Instanzen gegriffen, die wiederum jede für sich gepflegt werden möchte. Bei einem Dutzend und mehr (Sub)Domains macht die Sache dann auch so langsam keinen Spaß mehr und wird mitunter zum echten Zeitfresser, möchte man auch stets bei jeder Instanz die aktuellsten Versionen der Plugins installiert wissen, et cetera.
Um das Ganze nun elegant zu umgehen, eine Menge Zeit und Arbeit zu sparen und dabei trotzdem noch pro Blog eigene Konfigurationen, Templates und Unique Content anbieten zu können, hat sich in der Praxis nun das folgende – sogar recht einfache – Workaround bewährt.
Dazu öffnen wir die wp-config.php, welche sich im Hauptverzeichnis von WordPress befindet. Dort suchen wir jetzt jene Zeile, in der $table_prefix = 'wp_'; zu lesen ist. Dahinter steht meistens noch eine mit zwei Schrägstrichen auskommentierte Anmerkung, welche je nach Verison variiert, aber wichtig ist nur, dass es sich um die Zeile handelt, in welcher der Table-Prefix festgelegt wird.
Die ganze Zeile wird nun ersetzt durch eine von drei möglichen Varianten:
Variante 1: eine Domain, multiple Subdomains
[source:php]
$arrPrefix = explode( “.”, $_SERVER["HTTP_HOST"] );
$table_prefix = $arrPrefix[0].’_';
[/source]
Variante 2: Multiple Domains (pro Domain ein Blog)
[source:php]
$arrPrefix = explode( “.”, $_SERVER["HTTP_HOST"] );
$table_prefix = $arrPrefix[( count( $arrPrefix ) - 2 )].’_';
[/source]
Variante 3: Multiple Domains mit jeweils multiplen Subdomains
[source:php]
$arrPrefix = explode( “.”, $_SERVER["HTTP_HOST"] );
$table_prefix = implode( “_”, $arrPrefix ).’_';
[/source]
Variante 4: Multiple Domains, Subdomains, gleiche Domainnamen mit verschiedenen .tlds inkl. Fix für Bindestriche
[source:php]
$table_prefix = str_replace( array( “.”, “-” ), “_”, $_SERVER["HTTP_HOST"] ).”_”;
[/source]
Da hier bislang nur Variante 1 zum Einsatz kam, musste ich mir die beiden anderen quasi aus dem Ärmel schütteln, aber das Prinzip bleibt auch dort dasselbe. Der Prefix für die Tabellen, welche WordPress in der konfigurierten Datenbank nutzen soll, wird je nach (Sub)Domain dynamisch gesetzt. Sehr einfach, aber sehr effektiv.
Das Ganze lässt sich per SubDomain und einer einfachen switch/case-Routine auch noch erweitern, um – wie Eingangs bereits erwähnt – für verschiedene SubDomains zum Beispiel auch die passende Sprache auszuwählen. Da jedes Blog zwar nun auf der gleichen Instanz aufsetzt, jedoch andere Tabellen nutzt, muss auch jedes Blog zuerst noch regulär installiert und konfiguriert – also komplett neu aufgesetzt – werden. Dazu reicht es, alle betroffenen Domains einmal kurz anzusurfen und den gewohnten Installations-Prozess zu durchlaufen. Alle Blogs teilen sich natürlich sämtliche Plugins, Themes und folgende Updates, Erweiterungen und Änderungen.
Sehr praktisch übrigens auch, möchte man einen Blog-Hosting-Service für WordPress anbieten. Durch weitere, einfache Konfigurationsänderungen lässt sich auf diese Weise sogar die DB-Last verteilen, indem man hier mehrere (Mirror-)Server angibt. Da die Änderungen sich nur auf die wp-config.php beziehen, lässt sich WordPress auch weiterhin noch problemlos updaten.
Nachtrag vom 28.09.2006:
Nach einem sehr überraschenden und nicht minder erfreulichen Anruf von Robert Basic noch eben eine kurze viel zu lang geratene Randnotiz hinterher:
Es ist natürlich wichtig, dass sämtliche Domains, die auf der WordPress-Instanz aufsetzen sollen, in ein und dasselbe Verzeichnis auf dem Server zeigen. Liegen die WordPress-Skripte also in /home/htdocs/blog auf dem Server, so müssen auch entsprechend die Domains dorthin gelenkt werden. Beim Apache sähe das Ganze z.B. in der Konfigurationsdatei so aus:
ServerName domain.tld
ServerAlias *.domain.tld
DocumentRoot /home/htdocs/blog
In diesem Falle zeigen sämtliche Subdomains von domain.tld in ein einziges Verzeichnis mit genau einer WordPress-Instanz, die sich aber wiederum liebevoll per oben genannter Variante 1 um jegliche Subdomains kümmert, die hier so anfallen. Surft man nun also tolle.domain.tld an, so nutzt WordPress nach erfolgreicher Modifikation sämtliche Tabellen mit “tolle_” als Prefix und legt somit augenscheinlich ein komplett neues Blog an, obgleich es auf der einen Instanz aufsetzt, welche auch www.domain.tld und schnieke.domain.tld nutzen. Plugins und Templates wiederum teilen sich alle Blogs und können je nach Subdomain einzeln konfiguriert werden, da diese Daten wiederum in der jeweiligen DB-Tabelle gespeichert werden. Jedes Blog fungiert also autonom, nutzt aber den gleichen WordPress-Kern.
Viel Spaß damit.
| Artikel drucken | Dieser Beitrag wurde von Erik Range am 25.09.2006 um 18:34 Uhr veröffentlicht und unter Entwicklung, WordPress abgelegt. Du kannst allen Antworten zu diesem Beitrag durch RSS 2.0 folgen. Du kannst eine Antwort schreiben oder einen Trackback von deiner eigenen Seite hinterlassen. |
- Basic Thinking Blog » Muliuser / Multilanguage Wordpress
- [i:rrhoblog] » links for 2006-09-27
- Webmasterfind Blog » Mehrere Blogs mit Wordpress verwalten
- Multilinguales CMS gesucht [Update] » Die ContentSchmiede
- Signal77 – Dauernachtschicht und Leben » Eben entdeckt
- Blogwartung » Signal77 und Unser-Rudel in der Umstellung
- + mzungu’s weblog + » Notiz: Mit einer Installation mehrere Blogs verwalten
- Multi-Subdomains unter WordPress installieren @ Brandt Aktuell
- links for 2007-01-20 bei Basties Blog
- Web 2.0 – Participate ! » Über Wordpress und Multi Wordpress
- » M(ulti)-U(ser)-WordPress – ohne Müh | marco kitzmann | journalist. blogger.
- Weblog Art-Webwerk
- Stefans Blog » » Vielen Dank Robert Basic!
- Experiment — Ich auf Englisch – blog :: weinschenker.name
- Multi-(Sub-)Domain-Blog, CMS oder Wiki — Software Guide
- YSNB – YetSomeNewBookmarks Mi., 06.06.07 | rundgemacht.de
- vividbreeze » Blog Archive » Installing wordpress with multi-subdomains
- Pixelraiders » Blog Archive » Kleiner Artikel zum Thema Multi-Blogs
- Multi-User- und Multi-Domain-WordPress « WordPress, Blogs, Probleme, Plugins, Sitemap, WordPress-Installation, Unter, Code « starting SEO
- Merken: Multi-(Sub)Domain-WordPress :: WE ARE ROOT
- 6grad.de – ganz schön kalt… » Eigene Wege – Die Technik
- WordPress – Multi-Subdomains installieren » Brandt Aktuell
- Ein Loblied auf freie Software » THL – Coach & Berater aus Dresden, Sachsen
- Bissinger’s Blog» Blogarchiv » Mehrere WordPress-Blogs auf unterschiedlichen Subdomains
- Mehrere Subdomains mit einer WP-Installation betreiben | funkygog Blog
vor 3 Jahren
Heftig. Und ich hab morgen Zeit!
Da werde ich das doch mal austesten!
vor 3 Jahren
Super Sache, und so simple. Warum habe ich bisher bei multi-blog ansetzen nichts davon gelesen?
Sehr praktisch, dass bei mir bald ein Serverwechsel ansteht, da kann ich dann aus meinen 10 WP-Installationen ganz bequem eine einzige machen. Ich bin begeistert!
vor 3 Jahren
Hi Erik,
da vermisst noch meiner außer mir die Möglichkeit aus einem Adminbereich mehrere Blogs (Subblogs) publishen zu können? :)
Ja das ist definitiv ein großer Vorteil von MT… wenn da nur nicht so viele Nachteile wären *seufz*
vor 3 Jahren
@Helmi: Leider ja, und das offizielle MU-WP lässt noch auf sich warten. Man könnte zwar sicher die jetzige 2.0.4er nehmen und modifizieren, aber die meisten Änderungen würden sich an den Core-Files abspielen, die man hier zum Teil umschreiben und entsprechend erweitern müsste. Als Folge wären dann natürlich neue Updates ein Ding der Unmöglichkeit.
Was machbar und eine Überlegung wert wäre, das wär’ vielleicht ein externes, komplett eigenständiges Skript, welches per XMLRPC neue Einträge an entsprechende(s) Blog(s) schickt. Darüber könnte man auch direkt noch Blogger, MT und andere Blogsysteme ansteuern. Ist dann nur wiederum eine Frage des Aufwandes – und ob es sowas nicht vielleicht doch schon gibt. :-)
vor 3 Jahren
Also wenn es um Posting in mehrere Domains geht, dann wäre sicherlich ein Blick auf http://outputthis.org Wert.
Dort gibts einen Dienst der auf XMLRPC aufsetzt und damit in mehrere Instanzen posten kann. Registrieren und das Plugin für WordPress installieren und loslegen.
vor 3 Jahren
Interessanter Ansatz, einfach und prägnant.
Bei Domains mit Bindestrich http://test.domain-zusatz.de/ taktet bei mir MySQL aus. Der Bindestrich dürfte gegen die Namenskonventionen verstossen. Ein kleiner Wermutstropfen, der sich aber leicht beheben lässt.
Danke für Deinen Impuls zum Nachdenken! :))
vor 3 Jahren
Dem Manne kann geholfen werden :-)
Bei Domains mit Bindestrichen würde z.B. eine weitere Zeile Abhilfe leisten. Einfach nochmal ein
$table_prefix = str_replace( “-”, “_”, $table_prefix );
darunter anhängen, dann sollte das eigentlich gehen. Wenn nicht, mir die Schuld und nochmal Bescheid geben. ;-)
vor 3 Jahren
@Eric: Wohl die beste Lösung, da gleichlautende Domains mit “_” und “-” selten anzutreffen sein sollten.
vor 3 Jahren
@Jörg: Jau, vor allem, weil “_” im Domainnamen zum Glück nicht zulässig ist. ;-)
vor 3 Jahren
Hallo, ich versuche gerade Deinen Tipp umzusetzen, habe in der[QUOTE] wp-config.php[/QUOTE]
das Orginal:
[QUOTE]// Wenn du verschiedene Pr?fixe benutzt kannst du innerhalb einer Datenbank
// verschiedene WorPress Installationen betreiben
$table_prefix = ‘wp_’; // Nur Zahlen, Buchstaben und Unterstriche bitte![/QUOTE]
zu:
[QUOTE]// Wenn du verschiedene Pr?fixe benutzt kannst du innerhalb einer Datenbank
// verschiedene WorPress Installationen betreiben
$arrPrefix = explode( “.â€Â, $_SERVER[â€ÂHTTP_HOSTâ€Â] );
$table_prefix = $arrPrefix[0].’_’; // Nur Zahlen, Buchstaben und Unterstriche bitte![/QUOTE]
geändert.
Wenn ich aber die Installationsseite:
[url]http://www.feuerkuenstler.com/feuerkuenstler/wp-admin/install.php[/url]
aufrufe kommt:
[QUOTE]Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /srv/www/htdocs/web116/html/feuerkuenstler/wp-config.php on line 15[/QUOTE]
vor 3 Jahren
@Detlef: Einer rein wahrscheinlichen Schätzung nach würde ich vermuten, dass Dein PHP-Editor irgendwie diese falsch formatierten \”WordPress-Gänsefüßchen\” mit übernommen hat. Versuch\’ mal, die entsprechenden Zeilen nochmal auszuschneiden, in einem Notepad einzufügen und von da aus nochmal zurückzukopieren.
Ansonsten schau ich mal, ob sich das neue Plugin nicht für eine korrekte Formatierung da oben im Posting verwenden lässt. ;-)
Edit: Versuch\’ jetzt einfach nochmal, oben die entsprechenden Zeilen rauszukopieren. Sollte jetzt auch direkt damit gehen.
vor 3 Jahren
Vielen Dank hat geklappt – scheinbar hat Opera die Formatierung von deiner Seite nicht richtig übernommen.
Welches Plugin meinst du denn?
vor 3 Jahren
Na, das SyntaxHighlighter-Plugin für WordPress, mit dem man Sourcecodes sehr einfach und schnieke formatiert darstellen kann. ;-)
vor 3 Jahren
wie macht man das denn wenn es einen blog gibt der schon läuft?
http://www.meinedomain.de sollte so bleiben, neu sollten sein
http://www.en.meinedomain,de
http://www.cz.meinedomain.de
vor 3 Jahren
Danke – das war genau das, wonach ich gesucht habe!
Beim Umzug bereits vorhandener Blogs auf diese Multi-Domain-Variante bin ich auf ein Problem gestoßen: Das Umbennen der einzelnen Tabellen entsprechend der oben erläuterten Prefix-Konvention (z.B. von “wp_” in “subdomain_domain_de_”) reicht nicht aus, weil Wordpress an einigen Stellen das alte Prefix auch in den Tabellen stehen hat, im Bereich der Rechteverwaltung. Ich versuche die notwendigen Änderungen mal als MySQL-Statement darzustellen (hoffe das bleibt lesbar):
Die beiden meta_keys in _usermeta existieren für jeden User, der option_name in _options nur einmal.
Hoffe es ist klar geworden, wo was geändert werden muss (bin kein SQL-Experte :) – und vielleicht erspart das ja dem einen oder anderen eine langwierige Fehlersuche.
vor 3 Jahren
@Detlef: siehe nachfolgendes Posting von Tobias
@Tobias: Dankeschön ;-)
vor 3 Jahren
Super, vielen, vielen Dank!!!
vor 3 Jahren
Ist es so auch möglich zwei Blogs zB
dieseite.de = Blog 1
dieseite/blog2= Blog 2
aufzusetzten?
Oder bin ich an die Struktur Subdomain “blog2.dieseite.de” gebunden?
Vielen Dank für die Hilfe – Gruss Georg
vor 3 Jahren
Hi
dein Script erzeugt SQl-Fehler bei der WP-Installation , wenn Domains mit Bindestrichen (“-”) verwendet werden.
Eine Lösung wäre das ersetzten von “-” durch “_”.
Grüße
Mo
vor 3 Jahren
@Mo: siehe Mail ;) Aber ich adde “Variante 4″ nochmal oben zum Beitrag.
@Fotoblog: Ohne Weiteres ist das leider nicht möglich. Man könnte zwar theoretisch sagen, jedes erste Unterverzeichnis wird als DB-Name genutzt, aber das stünde auf wackeligen Beinen. Per .htaccess/mod-rewrite müssten dann alle erste (oder auch nur ausgewählte) Verzeichnisse auf ein Hauptverzeichnis pointen, dort wiederum müssten man dann die URI abfangen, nach Slash exploden und die erste Array-Variable mit als Titel nehmen.. in der Praxis würde ich dann doch allerdings eher Subdomains empfehlen – ist einfach sauberer und hat den netten Nebeneffekt, dass Suchmaschinen mehr darauf schwören als auf tiefere Verzeichnisstrukturen. ;-)
vor 3 Jahren
Vielen Dank für den Tip.
Hat soweit auch alles super funktioniert. Das einzige was ich noch nicht hinbekommen habe sind unabhängige Sitemaps für Googles Webmaster Account. Ich nutze das Sitemap-Plugin für Wordpress. Nun habe ich versucht, die Sitemaps jeweils in unterschiedliche Unterverzeichnisse abzulegen, also domain1sitemap/ , domain2sitemap/ usw.
Aber da streikt das Google Webmastertool, da die Sitemap im Wurzelverzeichnis der Domain abgelegt werden muss.
Irgendwelche workarounds bekannt?
vor 3 Jahren
@Markus: Das kommt ganz darauf an, welches Plugin Du genau nutzt. Ich habe auf einigen Multi-Domain-Projekten das Plugin Google Sitemap Generator for WordPress 3.0b1 laufen, was es inzwischen auch als 3.0b4 gibt, wie ich gerade gesehen habe. *g*
Nun gibt es der Möglichkeiten zwei:
— Eins
Auf dem Webspace hab’ ich mir als Pfad noch extra ./wp-cache/sitemap mit 0777 angelegt, weil ich’s gerne aufgeräumt mag. Die Einstellungen für’s Plugin sind hier wie folgt:
Unter Admin -> Einstellungen -> Sitemap:
- Custom Location wählen.
- Absolute or relative path to the sitemap file, including name:
/var/www/absoluter/pfad-zum-blog/wp-cache/sitemap/tolledomain.xml
- Complete URL to the sitemap file, including name:
http://tolledomain.com/wp-cache/sitemap/tolledomain.xml
— Zwei
Generell kann man auf die “Schönisierung” auch verzichten, die Datei einfach im Hauptverzeichnis belassen und tolledomain.xml nennen. Das Ganze sieht in den Einstellungen vom Plugin dann so aus:
Unter Admin -> Einstellungen -> Sitemap:
- Automatic Location belassen.
- Filename of the sitemap file:
tolledomain.xml
- nicht vergessen, dass tolledomain.xml und tolledomain.xml.gz auf 0777 sein müssen.
Und das war’s auch schon.
— Ende vom Lied
Anschließend noch einmal auf “Update Options” klicken und danach abschließend auf “Rebuild Sitemap”, um zu schauen, ob Google das alles so genehm ist. Dann für gut befinden.
Viel Spaß damit. ;-)
vor 3 Jahren
Hallo
ist schon nicht schlecht die lösung
aber bei mir funzen die permalinks leider nicht :(( hat das noch jemand ? oder liegt da an mir :-)
bekomme dann nen 403 :(
mfg
frank
vor 3 Jahren
Cool, funktioniert bestens. Aber kann es sein, dass sich die Blogs dann immer die gleiche Permalink-Struktur teilen müssen, sprich alle auf die gleich .htaccess zugreifen?
vor 3 Jahren
Wow Eric,
das ist doch echt mal ein nützliches Stück Code!
Was man mit ein, zwei Zeilen nicht alles erreichen kann.
Die Jungs solltes das mal in den Core einbauen.
vielen Dank
Jochen
vor 3 Jahren
Ich habe einen Blog aber 2 domains, die beide ganz normal auf meinen Blog zeigen sollen. Im admin-bereich von wordpress kann ich jedoch nur eine domain angeben. Wie schaffe ich es, das beide funktionieren?
vor 3 Jahren
Also irgendwie stehe ich wohl auf der Leitung. Habe mittlerweile diverse Wordress-Installationen möchte diese aber nicht weiter einzeln pflegen. Da sollte ich hier ja richtig sein. Sagen wir ich habe zwei Weblogs:
1. http://www.abc.de im Ordner abc mit $table_prefix = ‘abc_’
2. http://www.xyz.de im Ordner xyz mit $table_prefix = ‘xyz_’
Wie bekomme ich die jetzt mit der oben genannten Methode auf eine Installation? Sorry, wenn die Frage blöd erscheint, aber irgendwie fehlt mir ein Stück im Puzzle. Schon mal Danke im Voraus für Hilfestellungen!
vor 3 Jahren
Danke für diesen tollen Tipp. Noch eine Anmerkung: ich war zu faul und zu risikoarm um die Live-DB umzubennenen, daher habe ich mir eine kleine Map geschrieben, die den _SERVER[HTTPPOST] auf ein DB Prefix mappt.
Vorteil der Variante: ich muss mich vorher nicht entscheiden ob ich mehrere Blogs pro Domain habe oder nicht.
Nachteil: ich muss die Blogs, die ich verwalten möchte kennen, was aber bei
vor 3 Jahren
Moin Eric,
zur Zeit habe ich ein solches Problem, für das Du hier einen Lösungsansatz bietest. Drei Blogs (zwei davon auf Subdomains) in drei verschiedenen Sprachen.
Fragen wären dann noch für mich, wie sieht es mit einigen Plugins aus, die ja schon in den jeweiligen Landessprachen angeboten werden, die kommen sich doch dann in die Quere (Bsp: WP-Contact-Form) und wie sieht es mit WP-Updates aus? Muß nicht jedes mal wieder die wp-config.php angepasst werden usw.?
vor 3 Jahren
ich sage Danke …..
vor 3 Jahren
Ich habe sowas jetzt auch gemacht (Vielen Dank dafür). Hat jemand nen Tipp, wie es gehen könnte die Kommentare der anderen Sprachversionen zu einem Beitrag jeweils mit anzuzeigen? Hat das schon mal jemand gemacht?
Möglichst in der richtigen zeitlichen Sortierung ;)
Danke
C.
vor 3 Jahren
Kann jemand einen Webhoster empfehlen, bei dem das funktioniert? Bei meinem (all-inkl.com) ist es meines Wissens nicht möglich, mehrere Domains auf ein Webserver-Verzeichnis zu legen. Zumindest nicht beim Managed Server.
vor 3 Jahren
habs jetzt selber gefrickelt, falls es nochmal jemand machen will:
eine Tabelle angelegt: all_comments in der wp_settings.php direkt auf diese verwiesen, damit alle Kommentare in diese eine Tabelle geschrieben werden.
Und dann noch ein Feld ergänzt, für die Sprache und dieses jeweils mit gespeichert und ausgelesen in der wp-includes/comments.php bzw. comment-templates.php
Viele Grüße
C.
vor 3 Jahren
Bei all-inkl geht es zumindest mit subdomains, ansonsten würde ich mal nachfragen, da die wirklich sehr hilfsbereit sind und die Sachen ja sowieso auf dem selben Server liegen
Grüße
C.
vor 3 Jahren
Moin!
Super Idee und es scheint auch gut zu funktionieren.. allerdings frag’ ich mich grad wie man noch ein paar andere Sachen umsetzen kann:
verschiedene Subdomains verweisen auf ein Blog (z.B. hab ich mal political-blog.kdas.de und mal political.kdas.de angegeben) – wäre das da noch irgendwie lösbar? z.b. durch ein Array, dass einen Wert, falls er vorkommt durch einen anderen ersetzt (glaub switch + case wäre da brauchbar, bin aber recht php-noobig :D )
was würde er bei der Variante ohne Subdomain setzen (kdas.de)? Kein Prefix? an welcher Stelle kann ich da noch ein festes Prefix (Prefix vor dem Prefix :D ) einbauen um mir die alten Tabellen nicht zu zerschiessen?
Und schonmal danke für die super Idee… das sollte echt in den Core…
Greetz, kdas
P.S.: Für cabotine da oben wäre vllt. das Simple Multi Language Plugin besser… http://gh3.altervista.org/simple-multi-language-plugin/
da gibt’s dann nen kleinen JS- Button um die Sprache zu wechseln, ansonsten ist alles nur ein Blog (gibt nur Probleme mit dem Umbruch)
vor 3 Jahren
Bei mir funktioniert es leider nicht so recht (tv.dailymovie.de & kino.dailymovie.de) egal was ich aufrufe, es wird immer der Blog angezeigt den ich zuvor (als erstes) installiert habe, möglich das es nicht funktionieren kann weil nach aufrufen der Subdomain der richtige (tatsächliche) Pfad (also http://www.dailymovie.de/wordpress) angezeigt wird ??
fg
vor 2 Jahren
Super Artikel! Er hat mir den richtigen Ansatz zum Etablieren eines Multi-Domain-WP geliefert. Jetzt habe ich einen Server für WP, auf den von verschiedenen Servern zugegriffen wird (bis jetzt laufen 6 Blogs ohne Probs).
Hier gibt es aber noch einige Stolpersteine:
* Ich musste anstatt HTTP_HOST $_SERVER["HTTP_X_FORWARDED_HOST"] verwenden, da ich an einigen Stellen mit mod_rewrite gearbeitet habe
* Die Veröffentlichung von vorproduzierten Posts funktionierte nicht, da die CronJob-Verwaltung über einen Request auf wp-cron.php abgewickelt wurde und dieser anscheinend nicht den Host mitgeliefert hat. Hierzu in der cron.php die Funktion spawn_cron() anpassen und den Aufruf wie folgt ändern: @file_get_contents(“http://”.$_SERVER["HTTP_X_FORWARDED_HOST"].”/blog/wp-cron.php?check=” . wp_hash(‘187425′). “&HTTP_X_FORWARDED_HOST=”.$_SERVER["HTTP_X_FORWARDED_HOST"]);
Anschließend noch in der wp-cron.php folgende Zeile unter dem define-Statement hinzufügen:
if(isset($_GET["HTTP_X_FORWARDED_HOST"])){
$_SERVER["HTTP_X_FORWARDED_HOST"]=$_GET["HTTP_X_FORWARDED_HOST"];
}
Hoffe, dass erspart manchen die Fehlersuche ;)
vor 2 Jahren
Hallo Erik,
In dem Beitrag meinen Sie, “[Die Lösung mit den SubDomains] lässt sich mit einer einfachen switch/case-Routine auch noch erweitern, um … für verschiedene SubDomains zum Beispiel auch die passende Sprache auszuwählen”
Genau das versuche ich bisher erfolglos. Wie sähe die switch/case Funktion denn aus, damit z.B. bei de.meinblog.de die deutsche Sprachdatei “wp-includes/languages/de_DE.mo” geladen wird, bei fr.meinblog.de allerdings “wp-includes/languages/fr_FR.mo”?
Dankeschön & guten Rutsch ins neue Jahr!
vor 2 Jahren
Hallo Erik,
vielen Dank für diese genialen Zeilen – funktioniert ganz prima.
Allerdings habe ich auch ein kleines Problem:
‘www.domain.de’ und ‘domain.de’ haben mich vorher zu meinem Blog gebracht.
Wordpress benutzt den Prefix www_domain_de_
Beim Aufruf von ‘domain.de’ möchte die Installationsroutine nun aber eine neue Instanz installieren mit dem Prefix domain_de_
Gibt es eine einfache Möglichkeit beide Adressen auf meinen Blog zu lenken?
Gruß aus Berlin,
Martin
vor 2 Jahren
@60
if ($arrPrefix[0]==’de’) {define (‘WPLANG’, ‘de_DE’);}
if ($arrPrefix[0]==’pl’) {define (‘WPLANG’, ‘pl_PL’);}
if ($arrPrefix[0]==’fr’) {define (‘WPLANG’, ‘fr_FR’);}
siehe http://www.veloblog-oder-neisse.eu/ bzw.
http://fr.veloblog-oder-neisse.eu/
http://pl.veloblog-oder-neisse.eu/
Viele Grüße
C.
vor 2 Jahren
Für alle, die diese Lösung für ein Wordpress Blog bei 1und1 realisieren möchten: Es gibt ein Problem wegen dem bei 1und1 serverseitig eingestellten automatischen URL-REWRITE von {sub.domain.tld} auf {www.sub.domain.tld} Mechanismus!
Ich gehe dabei davon aus, dass {sub.domain.tld} identisch mit {www.sub.domain.tld} sein soll.
Mit der – echt genial einfachen und ansonsten super funktionierenden – Lösung von Erik werden solche domains von wordpress gesondert behandelt. In Folge: Wordpress verlangt beim Aufruf der {sub.domain.tld} SOWIE bei {www.sub.domain.tld} eine gesonderte Einrichtung.
Ohne mich in die Untiefen der Apache-htaccess jetzt vertiefen zu müssen, habe ich mich daher entschlossen, eine Subdomain {401.domain.tld} einzurichten und diese über {www.401.domain.tld} erstmalig aufzurufen. Damit legt Wordpress ein Table-Set mit der Prefix “www” an.
Egale welche Subdomain ein User nun aufruft, wird nun immer der “blog” der {401.domain.tld} aufgerufen. In diesem schreibe ich einen freundliche 401-Beitrag und gleichzeitig eine Blogroll zu allen vorhandenen {sub.domain.tld}’s.
Wenn jemand eine besser Lösung (z.B. via .htaccess urlrewrite) kennt, bitte um Posting.
vor 5 Monaten
hallo ich wollte gerne meine .com seite in englisch oder mehrsprachig und meine .de seite in deutsch. sie sollen aber auch bei google als verschiedene seiten gefuden werden. die kommentare sollen dann halt auf de nur deutsch sein, wobei die post von mir die selben bleiben. aber ich kapiers einfach nicht und wollte fragen ob mir jemand helfen kann. viele grüße und danke
vor 4 Monaten
Das haett ich nicht gedacht