<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>さくらたんどっとびーず &#187; WP Super Cache</title>
	<atom:link href="http://sakuratan.biz/archives/tag/WP-Super-Cache/feed" rel="self" type="application/rss+xml" />
	<link>http://sakuratan.biz</link>
	<description>モロモロ工事中です</description>
	<lastBuildDate>Sun, 25 Jun 2023 12:51:51 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>WP Super Cache の微妙なバグ</title>
		<link>http://sakuratan.biz/archives/1277</link>
		<comments>http://sakuratan.biz/archives/1277#comments</comments>
		<pubDate>Wed, 16 Sep 2009 01:18:58 +0000</pubDate>
		<dc:creator>さくら</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP Super Cache]]></category>

		<guid isPermaLink="false">http://sakuratan.biz/?p=1277</guid>
		<description><![CDATA[WP Super Cache を ON にすると、X-Pingback ヘッダが出力されないようです。 X-Pingback ヘッダというのは、Pingback する際のサーバ自動検知に使われる HTTP ヘッダです。Pingback の仕様書読むと、link タグで代替可能なので別に無くても良いみたいです。なので、これはバグじゃないと言われる気もします。 でも Pingback ってほとんど W... <div style="margin-top:1ex"><a href="http://sakuratan.biz/archives/1277">(続きを読む)</a></div>]]></description>
			<content:encoded><![CDATA[<p>WP Super Cache を ON にすると、X-Pingback ヘッダが出力されないようです。</p>
<p>X-Pingback ヘッダというのは、Pingback する際のサーバ自動検知に使われる HTTP ヘッダです。<a href="http://hixie.ch/specs/pingback/translations/pingback-1.0.jp#TOC2">Pingback の仕様書</a>読むと、link タグで代替可能なので別に無くても良いみたいです。なので、これはバグじゃないと言われる気もします。</p>
<p>でも Pingback ってほとんど WordPress しか実装してないよね。Blogger は実装してんだっけ？<br />
どっちにしても MovableType とかは実装してないから、WordPress は全力でサポートしないといけないんじゃないの？この辺わw</p>
<p>まあ、特に何かする必要のある話ではないので、わざわざブログに書くほどのことでもないと思いますが、何か超微妙な感じなので書いちゃいました。ていうか、この挙動（あえてバグとは書かない）見つけてからしばらく WP Super Cache をオフってたので、何かちょっと損した気分です。</p>
<p>ついでに、Pingback Autodiscovery を実装する側の視点からすると、WordPress がこんな挙動するなら、link タグだけの仕様にしとけと言いたくなりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://sakuratan.biz/archives/1277/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Super Cache が生成する mod_rewrite ルールは設定によってバグってる…たぶん、きっと、絶対www</title>
		<link>http://sakuratan.biz/archives/838</link>
		<comments>http://sakuratan.biz/archives/838#comments</comments>
		<pubDate>Tue, 26 May 2009 10:55:05 +0000</pubDate>
		<dc:creator>さくら</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WP Super Cache]]></category>

		<guid isPermaLink="false">http://sakuratan.biz/?p=838</guid>
		<description><![CDATA[さくらです♡こんばんわ☆彡 WP Super Cache WordPress プラグインの生成する mod_rewrite ルールにバグがあるみたいだったから報告するわね。 まず現象から言うけど、WP Super Cache をインスコしたら 404 Not Found になるってことね。実際さくらも痛い目見たわよww んでもうキャッシュ使うのヤーメピとか思ってたんだけど、他にも同じ現象で困ってる... <div style="margin-top:1ex"><a href="http://sakuratan.biz/archives/838">(続きを読む)</a></div>]]></description>
			<content:encoded><![CDATA[<p>さくらです♡こんばんわ☆彡</p>
<p><a href="http://wordpress.org/extend/plugins/wp-super-cache/">WP Super Cache</a> WordPress プラグインの生成する mod_rewrite ルールにバグがあるみたいだったから報告するわね。</p>
<p>まず現象から言うけど、WP Super Cache をインスコしたら 404 Not Found になるってことね。実際<a href="http://sakuratan.biz/archives/820">さくらも痛い目見た</a>わよww</p>
<p>んでもうキャッシュ使うのヤーメピとか思ってたんだけど、他にも同じ現象で困ってる人がいるみたいだから調べてみることにしたの。</p>
<h2>WP Super Cache をインスコしたときに 404 Not Found が発生する条件</h2>
<p>バグフィックス方法とか説明する前に、このバグ、必ず悪さをする訳では無いみたいなんで、404 Not Found になる条件から説明するわね。</p>
<h3>WordPress のインストール方法に依存します</h3>
<p>まずこのバグは、WordPress をインスコするときに、<a href="http://wpdocs.sourceforge.jp/Giving_WordPress_Its_Own_Directory">別のディレクトリにホームページを設定</a>してたら発生するの。</p>
<p><img src="http://sakuratan.biz/blog/wp-content/uploads/2009/05/wpaddress.png" alt="別のディレクトリにホームページを設定" title="別のディレクトリにホームページを設定" width="470" height="96" class="alignnone size-full wp-image-843 capture" /></p>
<p>ダッシュボードの [設定] → [一般] から上のキャプチャみたいな感じに設定したら、別のディレクトリにホームページを設定できるの。この辺の設定した記憶が無かったら問題は発生しないと思うわ、たぶんwww</p>
<h3>WP Super Cache の設定にも依存します</h3>
<p>わざわざ説明するまでも無いと思うんだけど、WP Super Cache って HALF ON とか言うふざけたモードがあるのね。</p>
<p><img src="http://sakuratan.biz/blog/wp-content/uploads/2009/05/wpsupercachestatus.png" alt="WP Super Cache Status" title="WP Super Cache Status" width="369" height="103" class="alignnone size-full wp-image-842 capture" /></p>
<p>今回問題にしてる 404 Not Found になるバグは、HALF ON 時は発生しないわ。ちなみに HALF ON って WP Cache と同じ機能だけ有効にするってことみたいよ。</p>
<h3>バグ発生条件のまとめ</h3>
<p>発生条件をまとめるわね。</p>
<ol>
<li>WordPress をインストールするときに、別ディレクトリにホームページを設定した</li>
<li>WP Super Cache を ON にした</li>
</ol>
<p>この条件に該当してて、WP Super Cache をインスコしたら 404 Not Found になった人は、これから説明する方法で直ると思うわよ。</p>
<p>条件に該当してなかったら、別のバグか設定ミスが原因だと思うからさくらは直し方知らないわ。悪いけど自分で調べてねww</p>
<h2>直し方</h2>
<p>バグの修正方法なんだけど、手作業で直す方法だけ説明することにしたわ。パッチ書いてもいいんだけど、WP Super Cache って割と頻繁にアップデートしてるみたいだし、その都度パッチを作り直すのも面倒だし、そんな大した作業じゃないし、って感じよwww</p>
<p>とりあえず WP Super Cache をインスコしたところ辺りから説明するわね。</p>
<p>まず WP Super Cache を ON にして (Update Status ボタンを押して) 変更を確定させてから、もうちょっと下の方にある Update Mod_Rewrite Rules ボタンは押したかしら？これ押さないと WP Super Cache はキャッシュファイル作ってるだけで<b>完全に有効になってない</b>わよ。</p>
<p><img src="http://sakuratan.biz/blog/wp-content/uploads/2009/05/updatemodrewritebutton.png" alt="Update Mod_Rewrite Rules" title="Update Mod_Rewrite Rules" width="201" height="51" class="alignnone size-full wp-image-840 capture" /></p>
<p>Update Mod_Rewrite Rules を押したら<b>ブログのトップページにアクセスして 404 Not Found になってないかすぐ確認</b>してね、すぐよ！すぐ！！ 404 Not Found になってなかったらトラブルには巻き込まれてないから安心してちょうだいww</p>
<p>この時注意して欲しいんだけど、WP Super Cache を有効にしたとき同時に <q>Don&#8217;t cache pages for logged in users.</q> オプションを有効にしてたら、WordPress にログインしてる間は 404 Not Found にならないから、<b>一度ログオフしてから確認</b>する必要があるわよ。</p>
<p>で、404 Not Found になってたら、Update Mod_Rewrite Rules を押した際に WP Super Cache プラグインは .htaccess ファイルを間違った設定で更新してる可能性があるわ。.htaccess を開いて、以下の青く塗った部分を確認してね。</p>
<pre># BEGIN WPSuperCache
&lt;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:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/hoge/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) <b style="color:blue">/hoge/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz</b> [L]

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/hoge/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) <b style="color:blue">/hoge/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html</b> [L]
&lt;/IfModule>

# END WPSuperCache</pre>
<p>この例だと /hoge/blog/wp-content/cache/supercache/.. って部分が問題になるんだけど、<b>このパスをサイト上の 絶対 URL として見たときに、存在しない URL を指してると 404 Not Found になる</b>わ…この説明で分かるかしら？</p>
<p>例えば sakuratan.biz だと上の部分は /blog/wp-content/cache/supercache/.. ってなってないといけないの。頭の /hoge が余分ってことね。</p>
<p>どう直すのが正しいかはサイトの設定によるわ。直し方が分かったら .htaccess をエディタで開いて下の例みたいな感じに書き換えるといいわよ。</p>
<pre># BEGIN WPSuperCache
&lt;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:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/hoge/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) <b style="color:red">/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz</b> [L]

RewriteCond %{REQUEST_METHOD} !=POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/hoge/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) <b style="color:red">/blog/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html</b> [L]
&lt;/IfModule>

# END WPSuperCache</pre>
<p>.htaccess を書き換えて再度ブログにアクセスしてみて、404 Not Found にならずにちゃんとブログが表示されたら直ったと思ってもらっていいわよ。逆に 404 のままなら RewriteRule の修正方法を見直してね。</p>
<p>この説明でいまいちよく分かんない人は、<a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">Apache の mod_rewrite のマニュアル見る</a>か、WP Super Cache を使うのは諦めた方が懸命だと思うわ。坊やにはまだ早いってことねww</p>
<p> さくら</p>
<p>P.S. 言っちゃ悪いけど、このバグってまったくもって PHP クォリティよね。誰もテストしてないのかしら？ PHP プログラマって一括りにされてダンコーガイにあれやこれや言われてもしょうがないような気もするわね、これじゃww</p>
]]></content:encoded>
			<wfw:commentRss>http://sakuratan.biz/archives/838/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
