ページは例えばnewsという階層を作ってexeample.com/news/index.htmlなどとしたい場合、パーマリンクの変更はページには及ばないので、ページの機構だけを使って実現します。newsというタイトルのページを空で作成し、過去に紹介したプラグインを利用してページにhtmlを付加します。これでexeample.com/news.htmlというページができました。次に、indexというページを作成し、親にnewsページを指定します。これだけでexeample.com/news/index.htmlができちゃいます。このままでは空のnews.htmlにもアクセスができてしまいます。そこで新たなプラグイン。メモさんのリダイレクト設定ができるプラグインを参考にRedirectionをインストール。news.htmlにアクセスがあった場合はnews/index.htmlにリダイレクトしてしまいます。同じ方法でexeample.com/news/old/index.htmlなど深い階層も実現できます。今回、TOPページはhome.phpを利用して固定ページを作成していますが、ブログの一覧ページも表示したいなということで、アクセスアドレスはexeample.com/blog/でブログページを表示させます。通常であれば[設定]の[表示設定]で固定ページを選択してあげればよいのですが、今回パーマリンクの設定は[/blog/%category%_%post_id%.html]になっていることが原因なのか、ページでblogを作成し投稿ページでblogを指定しても上記アドレスでアクセスができませんでした。投稿の単発表示ではexeample.com/blog/category_1.htmlでのアクセスが可能なので、パーマリンクは問題ないといえます。そこで、indexページを新規作成し、親にblogを指定することにしました。あとは上記方法でリダイレクトを指定して/blog/にアクセスがあった場合は/blog/index.htmlにリダイレクトしてしまいます。/blog/のままではアクセスできませんがリダイレクトされて一覧が表示されるので(404にはならない)問題なしとします。この件を調査中にis_homeとis_front_pageでの動作に違いがあることがswhrykの日記ではじめて知りました。金曜日ようやくテスト稼動にこぎつけたwordpressMUと格闘すること1週間。テスト稼動させることまで成功した。既存のhtmlを置き換えることを念頭においてパーマリンクを作成しなくてはならない。パーマリンクは「/%category%/%postname%.html」にした。これなら現在フォルダで構成している(hoge/index.html)ファイルもフォルダ名と同じカテゴリー名を作成すれば実現できる。TOPページはそうはいかない。ファイル名の指定なし(http://exeample.com/)でアクセスした場合は問題ないが、index.htmlを指定して(http://exeample.com/index.html)アクセスした場合ページが存在しない。次にindexというページ名のページを作成。ここでページを固定表示してはいけない。固定ページにしてしまうとindex.htmlでアクセスした場合にリダイレクトされスラッシュ付のアドレス(http://exeample.com/index.html/)に変換されてしまう。そこで、home.phpを作成した。wordpressのテンプレート階層によりhome.phpが存在すればindex.phpよりも先に使用される。このhome.phpに今までhtmlで作成されていたページをループを使わずにそのまま作成した。TOPページはほとんど修正がないので固定作成でも問題はないのだ。(一応NEWSの一覧などはtxtから自動取得して表示するように作りこんである)コツはここからで、このhome.phpにページテンプレート用の記述を組み込み、ページ編集画面からテンプレートとして読み込めるようにした。これであらかじめ作成しておいたindexというタイトルのページにhome.phpをデザインとして読み込める。indexページには何も記述していないが、そもそもhome.phpにループを作成していないため、ルートでアクセスした場合もindex.htmlでアクセスした場合も同じページが表示できるようになった。ブログディレクトリの変更を参考にファイルの修正とコピーを行った。ここではまったのがオリジナルで作成していたphpファイルをincludeする場合のテンプレートディレクトリの指定方法だ。最初はinclude(‘hoge.php’)としていたが、ルートにアクセス先を変更するとincludeもルートから行ってしまう。気づくまで時間がかかった・・・。これをbloginfo(‘template_directory’)とすることでテンプレートディレクトリを取得し、動的に変更するようにした。(これはこれで後ではまることになる)ようやくテスト稼動の確認までできるようになった。実際に動作には問題なさそうだ。次はいよいよ複数のwordpressブログをMUひとつで動かすテストです。URLに関しては「wwwって何?意味あんの?」ってことで、つけていることに意味を見出せないものの、なければURLが簡素化されるなどの利点があり、また、なくてもあってもリライトで飛ばされるのでページが見れなくなるわけではない、という結論に達しました。別に推進派になったわけではありませんが。MUのシステムにはいろいろと通常版とは違うところがあるようで。テーマの編集がサイト上からできない(その機能がない)表示設定にフロントページの表示項目がない(つまりページをトップ表示ができない?)など。これって最初にインストールしたときに自動的に生成される管理者ブログ(?)のみに起こることなのか、サブブログにも起こるのか、まだ試してないのでわからない。2は不便だろ?とりあえず、ヘッダ、フッタ、サイドバーはなんとかテスト段階までいけた。メインindexをページで作ってhome.phpで表示させようと思ったらトップ表示できないので困った・・・[追記]2については作ったつもりのページが下書きのままになっていた(汗)公開して表示できた。検索中に気になる記事を見つけた。TOP固定表示にする場合home.phpはだめだという。状況は不明なので試してみるかな。[さらに追記]home.phpは存在するとindex.phpの代わりにトップページとして自動的に使用されてしまうためにページテンプレートとしてはだめだよという意味らしい。私の構築サイトの場合はそもそもトップページとして使用したかったので問題なかった。ややこしいことをして構築しているが、詳細はのちほど。MUをインストールする必要性が出てきた。ダウンロードしてきて、日本語ファイルは2.7.1のものを使用。文字化け対策は通常のwordpressと同じ方法が適用できる。インストールに特に問題は見受けられない、とりあえずサブディレクトリタイプでインストール。styleも稼動を確認。現状は/wordpress-mu/にて稼動。urlを確認するとドメインにwwwがない。エラー画面になって更新不能に。インストールからやり直しか?とりあえずmysqlを覗いてみよう。