Multisite derrière Varnish

4

J'essaie d'utiliser varnish avec un site wp 3.0.5 avec réseau (multisite). Lorsque j'accède à l'URL de vernis, je reçois le message suivant:

Multisite only works without the port number in the URL.

Ai-je besoin d'une VCL personnalisée pour que cela fonctionne? J'utilise la même configuration d'arrière-plan pour d'autres sites wordpress qui fonctionnent très bien.

Si j'ai besoin de demander ceci sur serverfault, faites-le-moi savoir et je le demanderai là-bas.

    
posée Vid Luther 08.02.2011 - 23:16

2 réponses

2

J'ai trouvé un correctif ici: enlace

Vous devez fondamentalement modifier wp-includes / ms-settings.php comme ceci (remove '-' lines; ajoutez la ligne '+'):

@@ -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*/ );
-                }
-        }
    
réponse donnée webXL 09.02.2011 - 15:15
3

ce message d'erreur Wordpress est probablement trompeur.

Wordpress recherche le nom de domaine dans $_SERVER['HTTP_HOST'] (Manuel PHP) et si contient un numéro de port (séparé par: comme d'habitude, comme enlace ), il n'acceptera que deux variantes: le port 80 et le port 443.

Je suppose que dans votre configuration de vernis, d'autres ports sont indiqués et que vous tombez sur celui-ci.

Je ne suis pas un expert en vernis, mais c’est là que je commencerais à bricoler. Tout d'abord je voudrais sortir cette valeur. Le fichier en question est /wp-includes/ms-settings.php , ~ ligne 38. Vous pouvez commencer à ajouter un var_dump($_SERVER['HTTP_HOST']); avant l'instruction wp_die.

    
réponse donnée hakre 09.02.2011 - 00:40

Lire d'autres questions sur les étiquettes