webentwicklung-frage-antwort-db.com.de

Multisite hinter Lack

Ich versuche, Lack mit einer WP 3.0.5-Site mit Netzwerk (Multisite) zu verwenden. Wenn ich auf die Lack-URL zugreife, erhalte ich die folgende Meldung:

Multisite only works without the port number in the URL.

Benötige ich eine benutzerdefinierte VCL, damit dies funktioniert? Ich verwende die gleiche Backend-Konfiguration für andere WordPress-Sites, die gut funktionieren.

Wenn ich dies bei Serverfehler erfragen muss, lass es mich wissen und ich werde dort nachfragen.

4
Vid Luther

Ich habe hier eine Lösung gefunden: http://core.trac.wordpress.org/ticket/15936

Grundsätzlich müssen Sie die Datei wp-includes/ms-settings.php wie folgt ändern (entfernen Sie die '-' Zeilen; fügen Sie die '+' Zeile hinzu):

@@ -26,18 +26,8 @@
  if ( !isset( $current_site ) || !isset( $current_blog ) ) {
+        $_SERVER['HTTP_Host'] = preg_replace( '|:\d+$|', '', $_SERVER['HTTP_Host'] );
         $domain = addslashes( $_SERVER['HTTP_Host'] );
-        if ( false !== strpos( $domain, ':' ) ) {
-               ....
-                        wp_die( /*WP_I18N_NO_PORT_NUMBER*/'Multisite only works without the port number in the URL.'/*/WP_I18N_NO_PORT_NUMBER*/ );
-                }
-        }
2
webXL

diese Wordpress-Fehlermeldung ist wahrscheinlich irreführend.

Wordpress sucht nach dem Domainnamen in $_SERVER['HTTP_Host'] (PHP Manual) und wenn es eine Portnummer enthält (getrennt durch: wie üblich wie http://example.com:444/ ), werden nur zwei akzeptiert Varianten: Port 80 und Port 443.

Ich gehe davon aus, dass in Ihrer Lackkonfiguration andere Ports angegeben sind und Sie auf diesen stoßen.

Ich bin kein Experte für Lacke, aber hier würde ich anfangen zu basteln. Zuerst würde ich diesen Wert ausgeben. Die fragliche Datei ist /wp-includes/ms-settings.php, ~ Zeile 38. Sie können beginnen, eine var_dump($_SERVER['HTTP_Host']); vor der wp_die-Anweisung hinzuzufügen.

3
hakre