• 2009年 4月 27日 月曜日

    えっと、テストがてら、WordPress の設定メモ。

    動作がかなり重いので、キャッシュプラグイン「WP Super Cache」を入れました。
    ところが、なぜかIEだと動作しない。調べたところ、
    ・パーマリンク設定をすると、固定ページのURLは http://…/<投稿スラッグ> 決めうちになる。
    ・投稿スラッグ(ページタイトル)に日本語が入っていると、UTF-8でURIエンコードしたURL になる。
    ・WP Super Cache は、エンコードされたURL を元にキャッシュファイル名(静的ページ)を生成する
    ・WP Super Cache では、キャッシュされたファイルは WordPress(PHP)を通さずに、Apache から直接アクセスする
    ・URIエンコードが16進数小文字(0-9a-f)の場合は、Apache は、URIエンコードされたままのファイルにアクセスするが、
    ・16進数大文字 (0-9A-F)の場合は、ApacheはURIをデコードしたファイルにアクセスする
    ・FirefoxでUTF-8なURLは16進小文字だが,IEは16進大文字になる
    ・その結果、WP Super Cache が生成した(URIエンコードされたままのファイル名な)静的ページには、IEでアクセスできないことになる

    という流れです。
    WP Super Cache を改造して、URIデコードしたキャッシュファイルも生成するようにしました。
    これで、IEからでもキャッシュされているように見えます。

    キャッシュの全削除でURIデコードされたファイルも消えることを確認しましたが、
    expire期間を過ぎたキャッシュが消えるかどうかは未確認。

  • カテゴリー: 未分類 WP Super Cache はコメントを受け付けていません タグ:

Comments are closed.