Home > Diary > | Movable Type > ブログ補完計画(2)PHP化後編(ふう~。)

ブログ補完計画(2)PHP化後編(ふう~。)

前回、Movable Typeのphp化を行って、.htaccessを利用して、
php化したファイルへのリダイレクトによる転送設定を
行ったところまで話をしました。

しかし、カテゴリや、月別、日別アーカイブ配下で、全くリダイレクトされず、
「転送設定がループしています」というエラーがでてしまい、結局、
php化計画は頓挫してしまうことになってしまいます。

ブラウザエラー画面
(Fire foxのエラー画面)

ブラウザエラーアドレスバー
(アドレスバーをみると・・・)

そもそも、.htaccessって何?
というところからスタートしている私にとっては、.htaccessを
理解することからはじめなければなりません。

色々、ネットで情報を収集することからはじめます。
その中でも非常に参考になったのが、
「さくらのレンタルサーバ非公式FAQ」.htaccessFAQ「ミケネコ研究所」
「htaccess リファレンス > リダイレクト 」です。

そこで、わかったのは、今の状態は「無限ループ」と呼ばれる
非常に危険な状態だということ。

サーバーに大きな負荷がかかり、下手したらダウンしてしまうとか。

とにかく急いでなんとかしなくては(汗。)

大まかに、.htaccessで注意すべき点が以下になります。

  • 少しでも記述が間違っているとエラーがでる。
  • 記述の最後は改行にする。
  • FTPアップロードの際はアスキーモードで転送する。

ほかにも、サーバーによって使えないコマンドがあったりするのですが、
リダイレクトのコマンド自体はしごく簡単な記述なので、
本来、あまり難しいものではありません。

しかし、その単純さゆえ、深い落とし穴があることを思い知らされます。

とりあえず、「さくらのレンタルサーバ非公式FAQ」と「ミケネコ研究所」の
記事を参考に、.htaccessの記述などを確認します。

しかし、どう修正しても「無限ループ」から抜け出せません。

当時、私の記述はこうなってました。

カテゴリ「diary」の場合


Redirect permanent /diary/ http://marqueemoon.info/diary/index.php

そこで、Movable Typep備忘録のbzbellさんからのアドバイスをもとに
以下に修正してみます。


Redirect permanent /diary http://marqueemoon.info/diary/index.php

最初の絶対パスの「/」を抜いてみました。

しかし、「無限ループ」から抜け出せません。

何故「無限ループになってしまうのか」?
「ミケネコ研究所」の記事を読んでいくうちになんとなく理解してきました。

私の記述した.htaccessだと、root/diaryへのアクセスを
から、同じ、root/diaryのindex.phpへリダイレクトする指示になっています。

ブラウザとサーバーの動きとしてはこうなっているわけです。


ブラウザの要求: http://marqueemoon.info/diary/

サーバの返答 : http://marqueemoon.info/diary/index.phpリダイレクトせよ

ブラウザの要求: http://marqueemoon.info/diary/index.php/index.php/

サーバの返答 : http://marqueemoon.info/diary/index.php/index.php/リダイレクトせよ

ブラウザの要求: http://marqueemoon.info/diary/index.php/index.php/index.php/

サーバの返答 : http://marqueemoon.info/diary/index.php/index.php/index.php/index.php/ リダイレクトせよ

ブラウザの要求: http://marqueemoon.info/diary/index.php/index.php/index.php/index.php/index.php/

(以上、無限に繰り返し)

仮に、以下の様に記述を変えた場合、


Redirect permanent /diary/index.hmtl http://marqueemoon.info/diary/index.php


http://marqueemoon.info/diary/index.html

と、URLをじか打ちすれば、リダイレクトされますが、
ブログ内のリンクからアクセスした場合、「404 Notfound」になります。

結局、今の自分のスキルでは、同じディレクトリ内で、
index.htmlから、index.phpへとリダイレクトさせるのが難しいと、考えた私。

php化したアーカイブフォルダを、別ディレクトリにするという
強行手段をとります。

Movable Typeのブログの「公開設定」を選ぶと、ブログのURLと、
サイトパスが入力できるフィールドがでてきます。

当然、ここはロックがかかっているので、さわりません。
(ブログのサイトパスごと移動するなら別ですが。)

その下に、「アーカイブをサイトパスとは別のパスで公開する」という
チェックボックスがあるので、チェックを入れると、
アーカイブURLとアーカイブサイトパスの入力ができるようになるので、
ここに、あらかじめFTPソフトなどで作っておいた、アーカイブフォルダの
URLと、サイトパスを入力します。

今回は、「archives」となんのヒネリもないフォルダ名にします。
(ヒネったところで、仕方ないのですが。)

ついでに、各カテゴリのフォルダ名もデフォルトのままで、
「cat34」とかなっていたので、カテゴリ「バイク」だったら
「bike」といった具合にわかりやすい名前にかえます。

そして、再構築・・・

あわせて、.htaccessの記述も修正します。


Redirect permanent /diary/ http://marqueemoon.info/archives/diarys/

アクセスしてみると・・・

おぉ、遂にリダイレクト成功!!

しかし、全部のカテゴリを試していくうちに、どうも一部の
カテゴリだけリダイレクトせず、「Not fond」になってしまう。

どうも、「音楽レビュー」とか「愛車遍歴」とかカテゴリ名に
漢字を使っているものがうまくいかない。

ちなみに、「音楽レビュー」のフォルダ名は「musicrevue」
「愛車遍歴」なら、「bikehistory」としてます。

両方とも、当サイトのメインコンテンツ。
特に「愛車遍歴」など(少ないながらも)アクセスがあるので
なんとかせにゃイカン。

と、ここで、また.htaccessの記述を色々試してみるのですが、
結局解決せず、カテゴリフォルダ名をMovable Typeデフォルトの
「cat32」とかにかえました。

ようやく、php化とリダイレクトの設定が完了。
もう、一度、全ページを一通りチェックした問題なければ、
htmlファイルを削除。

怪我の功名というか、結果的にアーカイブフォルダを
別のディレクトリにしたことで、旧htmlファイルの削除が楽になりました。

ふぅ~。

ここまで、延べ3日以上かかってしまいました。

php化そのものより、.htaccessの扱い方が大変でした。

結局、無限ループの問題も、
(Movable Typep備忘録のbzbellさんは、
同じディレクトリ内でのリダイレクトで問題なかったそうで。)
漢字カテゴリ名とフォルダ名の因果関係もわからず、
問題を解決したとゆうより、封印したといったほうが
適切な表現の結果になりました。

※ちょうど、php化が完了した後、Movable Typep備忘録のbzbellさんから
アドバイスをいただきました。
bzbellさんの場合、デフォルトインデックスの優先度を、
index.htmlより、index.php指定にしていするため、.htaccessに以下の記述を
追加しているそうです。


DirectoryIndex index.php index.html .ht

と、こんな具合に苦節の末、なんとか達成したphp化。
その、劇的な変化の恩恵はあるテンプレートセットを使用したときに
味わうことになりますが、それは次回に

ちなみ、php化したら、Googleページランクが0になってしまった。
URLが変わったんだから仕方なしです。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
/211
Listed below are links to weblogs that reference
ブログ補完計画(2)PHP化後編(ふう~。) from *Marquee Moon

Home > Diary > | Movable Type > ブログ補完計画(2)PHP化後編(ふう~。)

ランキング参加中!順位は?
人気ブログランキングへ
Profile

管理人:dedeoh
出身/生息地:東京都
年齢:30代
性別:男
趣味:バイク、音楽、徹夜、 昼寝、自作パソコン
愛車:Ducati Monster S4

Search
last-fm
Tag Cloud
Photos
Feeds
ウィジェット

Return to page top