ど素人から毛を生やす。<延>

同ディレクトリにWPと静的を共存させようとしたらリダイレクトループになった

Web > WordPress 2014年6月16日(最終更新:10年以上前)

2014年6月16日に作成されたページです。
情報が古かったり、僕が今以上のど素人だった頃の記事だったりする可能性があります。

どもです。
少し前に購入したWin8を漸くセットアップした餅。です。

本体に金かけてるのに、最初にインストールしたソフトがMetasequoia(無料版)てどうなの僕。
ちゃんと物が作れるようになったら有料版にアップグレードします。

 

毎度のごとくWordPressについて。

今回のやりたいことはタイトルの如く、
WordPressのカテゴリやカスタム投稿と静的ページ(HTML)を共存させる、です。

つまりこういう場合です。

h260616_3

ちなみに、普通はこうなります。
(今回のキャプチャ画像は全部GoogleChromeのものです。)

h260616_1

仮想的にディレクトリを作成するWordPressより、
実際のディレクトリの方が優先されてしまうようで、index,htmlやphpが存在しなくても
ディレクトリのトップ画面が表示されてしまうようです。

この解決法としましては、こちらのサイト様に書かれていました。

WordPress標準装備のindex.php(ルートに置くアレ)を
共存させたいディレクトリに置き、
requireのURLをそのディレクトリからに変更する。

で良いようです。

が、やってみたところ、こんなことに。

h260616_2

まさかのリダイレクトループです。

Cookieを消してもダメだったので、原因はWordPressでしょう。
解決法を探したところ、こちらのサイト様のやり方がヒット。

wp-includes/template-loader.php の12行目(3.9.1の場合)
do_action('template_redirect'); をコメントアウト

でおkでした。
共存の参考サイト様ではリダイレクトループが発生する、なんて注釈は無かったので、
何らかの特殊な状況下で起こることだとは思われますが、一応記録しときます。

 

 

9/24追記

wp-includes/template-loader.phpのコメントアウトだとWPの更新時にいちいち書き直さないといけないので、functions.phpで処理した方が良いかもしれません。

remove_filter('template_redirect', 'redirect_canonical');

でリダイレクトを阻止できます。

 

この記事は役に立ちましたか?
  • _(:3」∠)_ 面白かった (0)
  • (・∀・) 参考になった (0)
  • (`・ω・´) 役に立った (3)