web-dev-qa-db-ja.com

ワニスの背後にあるマルチサイト

Network(Multisite)でwp 3.0.5サイトでニスを使用しようとしています。ニスのURLにアクセスすると、次のメッセージが表示されます。

Multisite only works without the port number in the URL.

これを機能させるにはカスタムVCLが必要ですか?私はうまく動作する他のワードプレスサイトにも同じバックエンド設定を使用しています。

私がserverfaultでこれを尋ねる必要があるならば、私に知らせてください、そして、私はそこに尋ねます。

4
Vid Luther

私はここで修正を見つけました: http://core.trac.wordpress.org/ticket/15936

基本的には、wp-includes/ms-settings.phpを次のように修正する必要があります( ' - '行を削除し、 '+'行を追加します)。

@@ -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

そのWordpressのエラーメッセージはおそらく誤解を招くでしょう。

Wordpressはドメイン名を $_SERVER['HTTP_Host'](PHP Manual) で検索し、それにポート番号が含まれている場合( http:// exampleのように:で区切ります) .com:444 / )ポート80とポート443の2つのバリエーションしか受け付けません。

私はあなたのニスの設定で他のポートが与えられていると思いますので、あなたはそのポートにぶつかります。

私はニスの専門家ではありませんが、それが私がいじり始めるところです。まず最初にその値を出力します。問題のファイルは/wp-includes/ms-settings.php、〜38行目です。wp_dieステートメントの前にvar_dump($_SERVER['HTTP_Host']);を追加することができます。

3
hakre