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 vous le demanderai.
J'ai trouvé un correctif ici: http://core.trac.wordpress.org/ticket/15936
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*/ );
- }
- }
ce message d'erreur Wordpress est probablement trompeur.
Wordpress recherche le nom de domaine dans $_SERVER['HTTP_Host']
(Manuel PHP) et s'il contient un numéro de port (séparé par: comme d'habitude, comme http://example.com:444/ ), il n'en acceptera que deux. variantes: port 80 et 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 une var_dump($_SERVER['HTTP_Host']);
avant l'instruction wp_die.