hi Yuji.
FCHはかなり特殊なHackなので、こういった多言語系Hackは完全に無効化されてしまいます。
唯一、EMLHだけが利用可能なHackです。
(これは、どちらの多言語Hackが優れているかどうか、という問題ではなく、最終出力しかいじらないタイプのHackでないと、FCHのキャッシュがヒットする手前で動作させることができないからです)
最初の質問への答えですが、XOOPS本体のキャッシュとはまったく独立して働きます。
有効にすれば、FCHがヒットしなかった時でも、XOOPSのキャッシュがヒットする可能性はあります。
サイトの性格にもよりますが、うちみたいなサイトでは、FCHのヒット率はせいぜい20〜40%程度なので、XOOPSが提供するブロックキャッシュも併用しています。
Quote:
xLanguageはGIJOEさんのEMLHによって作られたものなので、正常に動作しています。
でもやっぱりauto-detect languageという機能が不動作です。HTTP_ACCEPT_LANGUAGEやHTTP_USER_AGENTによって、自動に言語が選択されています。問題の原因をちょっと調べてみます。
xLanguage の処理は正常でも、FCHには独特の処理があるので、専用のコードを加えなくてはいけないんです。
具体的には、FCHでヒットした時に、どのContent-Typeを返すか、という部分です。
EMLHには、FCH用のコードを加えてあるから、EMLH+FCHはちゃんと動くけど、xLanguageはおそらくFCHの存在も知らないため、言語の分岐処理がうまく行かないのでしょう。
Quote:
#EMLHを使っていたら、ページがどのようにキャッシュされるんですか。言語タグがreplaceされないままに残るでしょうか。
その通りで、キャッシュの中には、言語タグが残っています。
言語置換処理だけは、キャッシュ外で働くために、FCHのヒット率も高くなります。
Quote:
最後にもう一つの質問があるんですが。
EMLHへののぶのぶさんのハックを使用していたら、今度はXOOPSコアのlanguage constantsがキャッシュされてしまうのですね。
hi Yuji.
質問というか確認ですね。
状況としてはまったくもってその通りで、EMLHみたいに、XOOPS本体動作の外側だけのHackでないと、FCHとはどうしてもバッティングしてしまいます。
こんなことを書くのもなんですが、FCHが有効な状況は限られてますよ。
「XOOPSらしくない」静的コンテンツ主体のサイトにこそ有効です。
XOOPSらしいサイトであればあるほど、FCHはマイナスにしか働かないと思います。
GIJOEさん、ご返事ありがとうございます。m(_ _)m
言語タグを使って、全言語を一つのフォルダーにすれば、多分うまく動作させると思いますが・・・
)
一応コアのキャッシュに戻ります。