7月
14
2009

WordPress MuのNo-wwwおよび、その他の問題への対処法

注意!!

この記事は古くなっています。最新版はこちらです。
Yuyak – WordPress MU 日本語版

序章

WordPress MUは、WordPressに複数ブログ管理機能を持たせたCMSだ。複数ブログは、サブドメイン形式、またはディレクトリ形式が選べるのでユーザーのニーズに幅広く答えてくれる。WordPressとも高い互換性を持っており、テーマ・プラグインなどは、その大半が何の問題もなく動く。その機能は、ただWordPressを上回っているのみで、なぜ、WordPressが主流で、WordPress MUが副流なのか分からないくらいだ。いや、実はWordPress MUは重大な問題を抱えている。

WordPress MUの持つ問題点

WordPress MUは2009年7月14日現在(ver.2.8.1)、http://www.example.com/のようにwwwをサブドメインにしているサイトにはインストールできない仕様になっている。WordPressMUは、No-www という思想を持っており、それを利用者にも課している。

しかし、GoogleもYahooもサブドメインはwwwだ。WordPressも主流版では、No-wwwのような制限を課していない。こんな悲しいダブルスタンダードはない。

というわけで、以下にそれらの回避法を掲載する。

No-wwwの回避法

WordPressMU 2.8.1です。

/index-install.php

385, 386行目をコメントアウト

//if( substr( $_SERVER[ 'HTTP_HOST' ], 0, 4 ) == 'www.' )
//     $hostname = str_replace( "www.", "", $_SERVER[ 'HTTP_HOST' ] );

544,545行目をコメントアウト

//if( substr( $domain, 0, 4 ) == 'www.' )
//    $domain = substr( $domain, 4 );

743 – 747行目をコメントアウト

//if( substr( $_POST[ 'basedomain' ], 0, 4 ) == 'www.' ) {
//     printheader();
//     nowww();
//     continue;
//}

756行目をコメントアウト

//$_SERVER[ 'HTTP_HOST' ] = str_replace( 'www.', '', $_SERVER[ 'HTTP_HOST' ] ); // normalise hostname - no www.

blogという名前のブログを作成する方法

上位互換性なのかは分かりませんが、blogという名前のブログを作れません。これの回避法。

WordPressMU 2.8.1です。

/wpmu-settings.php

148行目

$reserved_blognames = array( 'page', 'comments', 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );

$reserved_blognames = array( 'page', 'comments', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed' );

に変更

クラスやIDが勝手に消える

記事投稿したときに、ある要素に対して指定した属性が許可されていない場合、消えてしまいます。それを回避する方法。$allowedposttagsというものがあるので、そこに追加する。

/wp-includes/kses.php

$allowedposttags = array(
  'a' => array(
    'class' => array()
  )
);

一部抜粋ですが、上記のように、要素に対して追加したい属性を指定しておけばOKです。

最後に

以上の下準備を施した後、普通にwwwありのURLでインストールするとうまくいきます。うまくいかなければ、コメントください。ではでは。

あとがき

管理者ログインがうまくいかないときは、クッキー削除したらうまくいくかもしれないです。。

関連リンク

  1. WordPress MU
  2. www. is deprecated.

参考リンク

  1. WordPress MU Stubornly Forces No WWW Subdomains – Huh? And How To Fix It. » Brit Gardner :: Web Developer :: Dallas, Texas
  2. PHP + mysql 制作 Memo wordpress mu の タグに関してidやclassが入力出来ない

About the Author:

大阪のプログラマー(87世代)。 関心: C/C++, Objective-C, C#, TopCoder, Unix, Java, PHP, JavaScriptなど。 最近はWebサービスに夢中です!

3 Comments + Add Comment

  • はじめまして。
    no-wwwを回避したい一心で、ここに辿りつきました。

    現在、wpmuは2.9.1.1ですが、このページの方法でインストールできました。
    ありがとうございます。
    一応、2.9.1.1との差異を書き出しておきます。
    ————————–
    385, 386行目→366, 367行目
    544, 545行目→521, 522行目
    743 – 747行目→692 – 696行目
    756行目→705行目
    ————————–

    しかし、2.9.1.1では、この方法でインストールしただけですと、サブブログを追加した場合に、
    サブブログは404になるという不具合が起こりました。
    それで、たまたま見つけたwpmu-settings.phpの9,10行目、
    ————————–
    //if( substr( $domain, 0, 4 ) == ‘www.’ )
    // $domain = substr( $domain, 4 );
    ————————–
    をコメントアウトしてみたところ、うまくいったような気がします。
    (ただ、僕はプログラマーでもなんでもないので、これで大丈夫かどうか?はかなり不安なのですが・・・。)
    一応、ご報告まで。

  • mizuhoさん

    ご指摘ありがとうございます!
    ちょっとでもこの記事が役に立てたということでうれしいです。

    以下に、mizuhoさん指摘の件と最新版対応の記事を書いておりますので、こちらもあわせて見ていただけると幸いです。
    http://www.yuyak.com/wordpress/

    というか、この記事古いのに紛らわしいですね。すいません(;´Д`)

  • クラスやIDが勝手に消える問題で丸一日悩んでました。。。
    お蔭様で解決できました。

    ありがとうございます!

Leave a comment


Now loading...

PR

Flickr