スポンサード リンク

WP Super CacheのSuper Cache機能は.htaccessファイルを使用して、PHPを介することなくHTTPレスポンスを返します。

通常はWP Super Cacheによって.htaccessファイルが自動的に作成されるようですが、私の環境ではなぜか作成されませんでした。

また、WordPressをサブディレクトリに配置したため、一般的な例そのままでは動きませんでした。

わかってしまえば全く難しくないことですが、.htaccessファイルの書き方を載せておきます。

WP Super Cacheバージョンアップにより古い書き方になりました。デフォルト(自動書き込み)を利用してください。


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /★
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP_user_agent} !^.*(Android|2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).*
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/★/wp-content/cache/supercache/%{HTTP_HOST}/★/$1/index.html.gz -f
RewriteRule ^(.*) wp-content/cache/supercache/%{HTTP_HOST}/★/$1/index.html.gz [L]

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP_user_agent} !^.*(Android|2.0\ MMP|240x320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile|iPhone|iPod|KYOCERA/WX310K|LG/U990|MIDP-2.0|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|Playstation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|Windows\ CE|WinWAP).*
RewriteCond %{DOCUMENT_ROOT}/★/wp-content/cache/supercache/%{HTTP_HOST}/★/$1/index.html -f
RewriteRule ^(.*) wp-content/cache/supercache/%{HTTP_HOST}/★/$1/index.html [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /★
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

★をサブディレクトリに置き換えてください。このブログの場合すべて ” blog2 ” で置き換えています。

スポンサード リンク