Multisite derrière Varnish
-
16-10-2019 - |
Question
Je suis en train de vernis à utiliser avec un site wp 3.0.5 Network (multisite), quand j'accéder à l'URL de vernis, je reçois ce message:
Multisite only works without the port number in the URL.
Ai-je besoin d'un VCL personnalisé pour faire ce travail? J'utilise la même configuration de back-end pour d'autres sites wordpress qui fonctionnent bien ..
Si je dois poser sur serverfault, laissez-moi savoir et je vais demander là.
La solution
J'ai trouvé une solution ici: http://core.trac.wordpress.org/ticket/ 15936
Vous essentiellement besoin de modifier wp-includes / ms-settings.php comme celui-ci (remove '-' lignes, 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*/ );
- }
- }
Autres conseils
ce message d'erreur Wordpress est trompeur probablement.
Wordpress recherche le nom de domaine dans $_SERVER['HTTP_HOST']
(PHP Manual) et si elle contient un numéro de port (séparés avec: comme d'habitude comme http://example.com:444/ ) il acceptera seulement deux variantes: le port 80 un port 443
Je suppose que dans votre configuration de vernis d'autres ports sont donnés et ainsi vous vous cognez dans celui-là.
Je ne suis pas expert de vernis, mais c'est là que je commencerais à bricoler. Tout d'abord je génèrerait cette valeur. 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.