深い階層にある静的ファイルとWordPressを共存させる方法


WordPressを使っていても、
同一サーバー内に静的ファイルを置いてそれと共存させることができます。


たとえばこんな感じで静的ファイルを置けば、

http://wordpressをインストールしたURL/pamphlet/index.html

にアクセスすれば、WordPressを介することなくこのディレクトリ内のindex.htmlが表示されます。

この場合はよいのです。

問題なのは以下のような場合。

まずWordPress側のパーマリンク設定をデフォルト以外にしていて、
abcdeというスラッグのページを

http://wordpressをインストールしているURL/abcde/

というような感じでディレクトリにアクセスしているっぽいURLにしている場合で

pamphletという部分はWordPress側でページを表示させて、その下にあるpageというページ(まぎらわしいですね…)はhtmlをそのまま表示させたい。
ですが、こういう構造になっているとWordPressでpamphletというスラッグをつけてページを作っても、こちらの存在するディレクトリを優先して読みにいってしまうので、このディレクトリには表示できるものがなにもないため403エラーになってしまいます。

どうしても解決しきれなかったので、twitterでお助け願いを出してみました。

すると@Webnistさんと@jim0912さんからすばらしいアドバイスをいただくことができました!!

私の他にも同様のことができなくて困っていた方もいらっしゃったようなので、お二人に許可をいただいたので解決方法をシェアします。

それがこちら。

WordPressをインストールしているディレクトリ内にあるindex.phpを対象のディレクトリにコピーして、index.php内にあるwp-blog-header.phpへのパスをそのディレクトリからのパスに書き換える(@Webnistさん)

こうすることによって、上位のディレクトリでWordPressの実行ファイルを読み込むようになるので、WordPress側で用意したページが読み込まれるようになります!

手順はこう。

1)WordPressをインストールしているディレクトリにあるindex.phpを、WordPressを使用して表示させたいディレクトリ(今回はpamphletのディレクトリ)にコピー

2)コピーしたindex.phpを開き、require(‘wp-blog-header.php’);の一行のパスを書き換える

3)WordPress側でページを作成し、pamphletというスラッグを設定する

以上です!

私はこうしました。

WordPressがあるディレクトリより1階層下のディレクトリだったので

require(‘../wp-blog-header.php’);

としました。

WordPressをルートにおいているなら
require(‘/wp-blog-header.php’);
でもいいと思います。

注意点としては

WordPressに付随するファイルを書き換えておかないといけないのでアップデートの時index.phpに更新がかかっていないかチェックしてあげる必要がある

とかでしょうか。

でもルートのindex.phpの中身ががらっと変わることはないんじゃないかなーとは思うのでそこまで気にしなくていいかな?どうかな?

ほかにも、

静的ページは他のWPとは干渉しないディレクトリに置いて、.htaccessで、/a/b/index.html だったら、そっちにリライトする(@jim0912さん)

というのを教えていただきました。

WordPressに付随するものをコピーしたりいじったりしなくていい方法です。

注意点としては

リダイレクトするので静的ファイルのURLが変わってしまう
.htaccessを管理画面から書き換えたりするときに注意が必要

という点があります。

どうしても解決できなかったのでどちらの方法も本当に勉強になりました!
ありがとうございました!

こういう構造にならないようにサイト設計するのが一番なんでしょうが、リニューアル案件ですでにURLを告知しているので変えられないとかやむを得ない事情でなんとかしないといけない場合も多々あると思うので、同じことで困っていたみなさん、ぜひお試しくださいね☆

教えていただいた@Webnistさん、@jim0912さん、本当にありがとうございました!!


こちらの記事もおすすめです

このブログで人気の記事です

コメント(Facebookのコメント機能を利用しています)

»

«


↓その他運営中のサイトのご紹介

Fireworksマニア Webサイトからカラーを抽出!分析!Web Site Color Picker PHOTO STOCKER -高解像度の無料写真素材- 壁紙カレンダー -デスクトップを飾る、サイズ豊富なデスクトップ壁紙- シンプルパターン研究所 -PhotoshopやFireworksで便利に使えるテクスチャ素材-
スタイルシート見出しメーカー -好きな色で作れる、あなた用のCSS見出し- ビビッドカラーズ -キュートなホームページ素材配布サイト- Android用の壁紙無料ダウンロードサイト Webデザイナー山口有由希のポートフォリオサイト