Develop and Download Open Source Software

Browse CVS Repository

Contents of /modchxj/mod_chxj/doc/modchxj.sdoc

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.35 - (show annotations) (download)
Fri May 16 11:12:19 2008 UTC (15 years, 11 months ago) by konn
Branch: MAIN
CVS Tags: same-as-RELEASE_0_9_0
Changes since 1.34: +167 -2 lines
  * to RELEASE_0_9_0

1 <?xml version='1.0' encoding="EUC-JP" ?>
2
3 <doc xml:lang="ja">
4 <head>
5 <title>mod_chxj</title>
6 <subtitle></subtitle>
7 <author>Atsushi Konno</author>
8 <date>29 Mar 2005</date>
9 <date>Last modified: Tue, 23 Mar 2008 00:34:08 +0900</date>
10 </head>
11 <body>
12 <section title="Overview">
13
14 mod_chxjはオープンソースの携帯向けコンテンツ変換Apache2.0用モジュールであり、
15 CHTML(DoCoMo i-Mode用 CHTML3.0)で記述された文書や通常のHTMLで記述された文書を、アクセスに来た端末のUser-Agentヘッダを見て、それぞれの端末にあった形式に変換します。
16 HTML文書に限らず、画像(jpg、gif、png)、絵文字についても、定義ファイルに従ってそれぞれのキャリアにあった絵文字に変換します。
17 Cookie非対応端末、Refer非対応端末のために、Set-Cookie、CookieヘッダやRefererヘッダをシミュレートすることもできます(EXPERIMENTAL)。
18
19
20 </section>
21 <section title="インストール">
22 <subsection title="準備">
23 mod_chxjをインストールする前に、下記のものを用意する必要があります。
24 <ol>
25 <li>Apache2.0のヘッダーファイル群</li>
26 <li>Apache2.0用のapxs</li>
27 <li>apr(Apache Portable Runtime)ライブラリとそのヘッダファイル郡(apu含む)</li>
28 <li>automake、autoconf、libtool1.3.X</li>
29 <li>ImageMagick(MagickWand)</li>
30 <li>Linux</li>
31 </ol>
32 </subsection>
33 <subsection title="mod_chxjの入手">
34 mod_chxjは<a href="http://sourceforge.jp/projects/modchxj/">こちら</a>からダウンロードすることができます。
35 </subsection>
36 <subsection title="インストール">
37 以下にmod_chxjインストール手順を示します。
38 <ol>
39 <li>Configure スクリプトを生成します<program title="Configure スクリプトの生成">
40 $ ./buildconf.sh
41 </program>
42 <note>"$"はプロンプトをあらわします。</note>
43 </li>
44 <li>Configure
45
46 以下は、/usr/include/apache2.0に、Apache2.0のヘッダーファイルが存在する場合です。
47 <program title="Configure">
48 $ ./configure
49 </program>
50 <note>場合によっては--with-apr-configや--with-apu-config、--with-pcre-configも必要です。</note>
51 <note>詳細はBuildを参照</note>
52 </li>
53 <li>mod_chxj.soを生成します
54 <program title="make">
55 $ make
56 </program>
57 </li>
58 <li>apacheにインストールします
59 <program title="install">
60 $ make install
61 </program>
62 </li>
63 <li>データの設置
64 etcディレクトリは以下のdevice_data.xmlとemoji.xmlをApache
65 からアクセスできるところに配置します。
66
67 以下、/etc/apache2/chxjディレクトリにchxj用設定ファイルを用意する場合
68
69 <program title="データの設置">
70 $ mkdir -p /etc/apache2/chxj
71 $ cp etc/device_data.xml /etc/apache2/chxj
72 $ cp etc/emoji.xml /etc/apache2/chxj
73 </program>
74 </li>
75 </ol>
76 </subsection>
77 </section>
78 <section title="Build">
79 mod_chxjをコンパイルするにはconfigureを行う必要があります。
80 以下にconfigureのオプションを記します。
81 <subsection title="メイン">
82 <subsection title="--with-apache-header">
83 通常指定する必要はありません。configureでApacheのヘッダファイルの場所が検知できなかった場合や、任意のApacheヘッダファイルを使用したい場合に指定します。
84 <program title="--with-apache-header">
85 $ ./configure --with-apache-header=/usr/include/apache2
86 </program>
87 上記は/usr/include/apache2以下にApacheのヘッダファイルがある場合の例です。
88 </subsection>
89 <subsection title="--with-apxs">
90 通常指定する必要はありません。configureでapxsを検知できなかった場合や、任意のapxsプログラムを指定したい場合に指定します。
91 <program title="--with-apxs">
92 $ ./configure --with-apxs=/usr/local/apache2/bin/apxs2
93 </program>
94 上記は/usr/local/apache2/bin/apxs2を使用するようにapxsに指定しています。
95 </subsection>
96 <subsection title="--with-apr-config">
97 通常指定する必要はありません。
98 configureでapr-configを検知できなかった場合や、任意のapr-configプログラムを指定したい場合に指定します。
99 <program title="--with-apr-config">
100 $ ./configure --with-apr-config=/usr/local/apache2/bin/apr-1-config
101 </program>
102 上記は/usr/local/apache2/bin/apr-1-configを使用するように指定しています。
103 </subsection>
104 <subsection title="--with-apu-config">
105 通常指定する必要はありません。
106 configureでapu-configを検知できなかった場合や、任意のapu-configプログラムを指定したい場合に指定します。
107 <program title="--with-apu-config">
108 $ ./configure --with-apu-config=/usr/local/apache2/bin/apu-1-config
109 </program>
110 上記は/usr/local/apache2/bin/apu-1-configを使用するように指定しています。
111 </subsection>
112 </subsection>
113 <subsection title="Cookieシミュレート機能でMySQLを使用する場合">
114 <subsection title="--enable-mysql-cookie">
115 Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、MySQLに保存するようにします。
116 DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。
117 別途MySQLサーバを用意する必要があります。また、本オプションを指定した場合は、--with-mysql-header、--with-mysql-lib-dirも指定します。
118 これはMySQLのヘッダとライブラリが必要なことを意味します。使用するMySQLのライブラリは今のところlibmysqlclient_r.soのみです。<br />
119 <font color="#ff0000">注意) --enable-memcache-cookieとの併用はできません。</font>
120 <program title="--enable-mysql-cookie">
121 $ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql --with-mysql-lib-dir=/usr/lib
122 </program>
123 上記は、/usr/include/mysql以下にmysql用のヘッダがあり、/usr/lib以下にlibmysqlclient_r.soがある場合の例です。
124 </subsection>
125 <subsection title="--with-mysql-header">
126 --enable-mysql-cookieを指定した場合は必須です。
127 MySQLのヘッダファイルの場所を指定します。
128 <program title="--with-mysql-header">
129 $ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql --with-mysql-lib-dir=/usr/lib
130 </program>
131 </subsection>
132 <subsection title="--with-mysql-lib-dir">
133 --enable-mysql-cookieを指定した場合は必須です。
134 MySQLのライブラリ、libmysqlclient_r.soの設置されているディレクトリを指定します。
135 <program title="--with-mysql-lib-dir">
136 $ ./configure --enable-mysql-cookie --with-mysql-header=/usr/include/mysql --with-mysql-lib-dir=/usr/lib
137 </program>
138 </subsection>
139 </subsection>
140 <subsection title="Cookieシミュレート機能でmemcachedを使用する場合">
141 <subsection title="--enable-memcache-cookie">
142 Cookieシミュレート機能を使用する際、保存先をデフォルトのDBMでは無く、memcachedに保存するようにします。
143 DefaultのDBMで良い場合や、Cookieシミュレート機能を使用しない場合は指定する必要はありません。
144 別途memcachedを用意する必要があります。また、本オプションを指定した場合は、--with-apr-memcache-header、--with-apr-memcache-lib-dirも指定します。
145 これはapr_memcacheのヘッダとライブラリが必要なことを意味します。<br />
146 <font color="#ff0000">注意) --enable-mysql-cookieとの併用はできません。</font><br />
147 <font color="#ff0000">注意) apr-utilsのバージョンは0.9.7以降である必要があります。</font>
148 <program title="--enable-memcache-cookie">
149 $ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr-memcache0 --with-apr-memcache-lib-dir=/usr/lib
150 </program>
151 上記は、/usr/include/apr_memcache0以下にapr-memcache用のヘッダがあり、/usr/lib以下にlibapr_memcache.soがある場合の例です。
152 </subsection>
153 <subsection title="--with-apr-memcache-header">
154 --enable-memcache-cookieを指定した場合は必須です。
155 apr-memcacheのヘッダファイルの場所を指定します。
156 <program title="--with-apr-memcache-header">
157 $ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr_memcache0 --with-apr-memcache-lib-dir=/usr/lib
158 </program>
159 </subsection>
160 <subsection title="--with-apr-memcache-lib-dir">
161 --enable-mysql-cookieを指定した場合は必須です。
162 apr-memcacheのライブラリ、libapr_memcache.soの設置されているディレクトリを指定します。
163 <program title="--with-apr-memcache-lib-dir">
164 $ ./configure --enable-memcache-cookie --with-apr-memcache-header=/usr/include/apr_memcache0 --with-apr-memcache-lib-dir=/usr/lib
165 </program>
166 </subsection>
167 </subsection>
168 </section>
169 <section title="Configuration">
170 以下はmod_chxjが/usr/lib/apache2/modulesディレクトリ配下に設置されたものとしています
171
172 <subsection title="htmlファイルが変換対象の場合">
173
174 例として、Locationが"/chxj"以下のものは全て変換する場合を説明します。
175
176 <ol>
177 <li>httpd.confに以下を追加します。
178
179 <program title="httpd.conf">
180 #====================================================================================
181 # モジュールをApache2.0にロード
182 #====================================================================================
183 LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
184
185 #====================================================================================
186 # デバイスデータファイルの設定
187 #====================================================================================
188 ChxjLoadDeviceData /etc/apache2/chxj/device_data.xml
189
190 #====================================================================================
191 # 絵文字データファイルの設定
192 #====================================================================================
193 ChxjLoadEmojiData /etc/apache2/chxj/emoji.xml
194
195 #====================================================================================
196 # 変換エンジン動作指示命令
197 # ChxjConvRule ==> ディレクティブ
198 # "^/chxj.+$" ==> Perl互換のURIパターン
199 # EngineOn ==> 変換エンジンを動作させる指示
200 # NONE ==> サーバ側の文字コード。(NONEを指定した場合は文字コード変換しない)
201 #====================================================================================
202 ChxjConvertRule "^/chxj.+$" "EngineOn" "NONE"
203
204 </program>
205 </li>
206 <li>apacheの再起動。</li>
207 </ol>
208 </subsection>
209 <subsection title="php等の出力結果が変換対象の場合">
210 <ol>
211 <li>httpd.confに以下を追加します
212
213 <program title="httpd.conf">
214 #====================================================================================
215 # モジュールをApache2.0にロード
216 #====================================================================================
217 LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
218
219 #====================================================================================
220 # デバイスデータの設定
221 #====================================================================================
222 ChxjLoadDeviceData /etc/apache2/chxj/device_data.xml
223
224 #====================================================================================
225 # 絵文字データの設定
226 #====================================================================================
227 ChxjLoadEmojiData /etc/apache2/chxj/emoji.xml
228
229 #====================================================================================
230 # 変換エンジン動作指示命令
231 # ChxjConvRule ==> ディレクティブ
232 # "^/chxj.+$" ==> Perl互換のURIパターン
233 # EngineOn ==> 変換エンジンを動作させる指示。動作させたく無い場合は"EngineOff"
234 # EUC-JP ==> サーバ側の文字コード。(NONEを指定した場合は文字コード変換しない)
235 # EUC-JPからCP932に文字コード変換します。
236 #====================================================================================
237 ChxjConvertRule "^/chxj.+$" "EngineOn" "EUC-JP"
238
239 </program>
240 </li>
241 <li>apacheの再起動。</li>
242 </ol>
243 </subsection>
244
245 <subsection title="xoopsを使用し、且つwordpress、bwikiを使用している場合">
246 <ol>
247 <li>httpd.confに以下を追加します
248
249 <program title="httpd.conf">
250 #====================================================================================
251 # モジュールをApache2.0にロード
252 #====================================================================================
253 LoadModule chxj_module /usr/lib/apache2/modules/mod_chxj.so
254
255 #====================================================================================
256 # デバイスデータの設定
257 #====================================================================================
258 ChxjLoadDeviceData /etc/apache2/chxj/device_data.xml
259
260 #====================================================================================
261 # 絵文字データの設定
262 #====================================================================================
263 ChxjLoadEmojiData /etc/apache2/chxj/emoji.xml
264
265 #====================================================================================
266 # 変換エンジン動作指示命令
267 #====================================================================================
268 #====================================================================================
269 # bwikiの設定をします。bwikiではどうもxoopsヘッダの文字コードとbwiki内での携帯スキン
270 # の文字コードが一致していないようなので、bwiki内で文字コードを変換させないように
271 # 修正後、以下のルールを記述します。
272 #
273 # ChxjConvRule ディレクティブ
274 # "^/modules/bwiki.+$" このルールを適用したいURIパターン
275 # "EngineOn" 変換エンジンを有効にします。
276 # "EUC-JP" 出力時にEUC-JPからCP932に変換させます。
277 # "PC" 変換元HTMLはPCサイト用HTMLです。
278 # "DoCoMo/1.0/D501i" DoCoMo端末としてbwikiにアクセスさせます。
279 #
280 #====================================================================================
281 ChxjConvertRule "^/modules/bwiki.+$" "EngineOn" "EUC-JP" "PC" "DoCoMo/1.0/D501i"
282
283 #====================================================================================
284 # wordpressの設定をします。
285 #
286 # ChxjConvRule ディレクティブ
287 # "^/modules/wordpress.+$" このルールを適用したいURIパターン
288 # "EngineOn" 変換エンジンを有効にします。
289 # "NONE" 出力時に文字コード変換をさせません。
290 # "NONE" 変換元HTMLはPCサイト用HTMLではありません。
291 # "DoCoMo/1.0/D501i" DoCoMo端末としてwordpressにアクセスさせます。
292 #
293 #====================================================================================
294 ChxjConvertRule "^/modules/wordpress/.*$" "EngineOn" "NONE" "PC" "DoCoMo/1.0/D501i"
295
296 #====================================================================================
297 # その他の設定をします。
298 #
299 # ChxjConvRule ディレクティブ
300 # "^/.+$" このルールを適用したいURIパターン
301 # "EngineOn" 変換エンジンを有効にします。
302 # "EUC-JP" 出力時にEUC-JPからCP932に文字コード変換をさせます。
303 #
304 #====================================================================================
305 ChxjConvertRule "^/.+$" "EngineOn" "EUC-JP"
306
307
308 &lt;Location /&gt;
309 ChxjImageEngine On
310 AllowOverride All
311 &lt;/Location&gt;
312 </program>
313 </li>
314 <li>apacheの再起動。</li>
315 </ol>
316 </subsection>
317
318
319
320
321 <subsection title="画像自動変換機能を使用する場合">
322 <ol>
323 <li>httpd.confに以下を追加します。
324 下記は、URIが/imgで始まる全ての画像に対して動作するようmod_chxjに指示しています。
325
326 <program title="httpd.conf">
327 &lt;Location /img&gt;
328 ChxjImageEngine On
329 ChxjImageCacheDir /tmp
330 ChxjImageCopyright "A.Konno"
331 &lt;/Location&gt;
332 </program>
333
334 上記の説明を以下に示します。
335
336 <ol>
337 <li>ChxjImageEngine<br />
338 mod_chxjの画像変換ハンドラを起動するよう指示しています。
339 DefaultはOff
340
341 <br />
342 <br />
343 </li>
344
345
346 <li>ChxjImageCacheDir<br />
347 mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリを指定します。
348 デフォルトは/tmp。
349
350 <program title="ChxjImageCacheDir">
351 ChxjImageCacheDir /tmp
352 </program>
353
354 mod_chxjに画像変換キャッシュとして/tmpを使用するよう指示します。
355 <br />
356 <br />
357 </li>
358
359 <li>ChxjImageCacheLimit<br />
360 mod_chxj画像変換ハンドラが使用する変換後の画像をおいておくディレクトリの許容量を指定します。
361 単位はbyte。
362
363 <program title="ChxjImageCacheLimit">
364 ChxjImageCacheLimit 1024
365 </program>
366
367 mod_chxjに画像変換キャッシュ最大サイズとして1kbyteと指定。
368 ※このとき変換結果が1kbyte以上あるような場合にはINTERNAL_SERVER_ERRORを返します。
369 十分な領域を確保するか、画像サイズを小さくしてください。
370 <br />
371 <br />
372 </li>
373
374
375 <li>ChxjImageCopyright<br />
376 mod_chxjの画像変換ハンドラに、転送禁止設定を行うよう指示します。
377 パラメータとして任意の文字列をとります。
378 ChxjImageCopyrightディレクティブで指定された文字列は、それぞれのイメージの
379 コメント部に埋め込まれます。
380
381 <program title="ChxjImageCopyright">
382 ChxjImageCopyright "A.Konno"
383 </program>
384
385 mod_chxjに転送禁止設定を行うよう指示しています。
386 変換後イメージのコメント部分には、キャリア毎に以下の文字列を埋め込みます。
387
388 <b>AU の場合</b>
389 <program title="AU">
390 kddi_copyright=on,A.Konno
391 </program>
392
393 <b>DoCoMoの場合</b>
394 <program title="DoCoMo">copy="NO",A.Konno</program>
395
396 <b>SoftBank/Vodafone</b>の場合は、レスポンスヘッダに
397
398 <program title="SoftBank/Vodafone/J-PHONE">
399 x-jphone-copyright:no-transfer
400 </program>
401
402 を埋め込みます。
403 <note>SoftBank/Vodafoneの場合は、リクエストURLの最後が.pnzか、.jpzで終わるようにダミーを付けなければなりません。</note>
404 </li>
405 </ol>
406 </li>
407 </ol>
408 </subsection>
409
410 <subsection title="文字コードを変換したい場合(EXPERIMENTAL)">
411 <ol>
412 <li>httpd.confに以下を追加します。
413 下記は、URIが/chxjで始まる全てのコンテンツに対して動作するようmod_chxjに指示しています。
414 サーバ側はEUC-JPであった場合の例です。mod_chxjによってSJISに変換するように指示しています。
415 サーバ側がShift_JISで無い場合は、Shift_JISコードの10進参照文字列表記を記述することによって
416 Shift_JISコードの絵文字2バイトコードに変換しクライアントへ返します。
417
418 <program title="httpd.conf">
419 ChxjConvRule "^/chxj.+$" "EngineOn" "EUC-JP"
420 </program>
421
422 上記の説明を以下に示します。
423
424 <ol>
425 <li>ChxjConvertRule<br />
426 サーバサイドの文字コードを指定します。ここに、EUC-JPと指定してあった場合は、
427 EUC-JPからCP932に変換後、クライアントに出力されます。
428 省略した場合はNONE
429 <ol>
430 <li>変換エンジン動作指示命令<br />
431 ChxjConvertRule ==> ディレクティブ<br />
432 "^/chxj.+$" ==> Perl互換のURIパターン<br />
433 EngineOn ==> 変換エンジンを動作させる指示。動作させたく無い場合は"EngineOff"<br />
434 EUC-JP ==> サーバ側の文字コード。(NONEを指定した場合は文字コード変換しない)<br />
435 <br />
436 EUC-JPからCP932に文字コード変換します。(glibc/iconvに依存します)<br/>
437 </li>
438 </ol>
439
440 <br />
441 <br />
442 </li>
443 </ol>
444 </li>
445 </ol>
446 </subsection>
447 <subsection title="ディレクティブ">
448 <ol>
449 <li>ChxjLoadDeviceData<br />
450 デバイス定義ファイルを指定します。
451 <program title="ex)">
452 ChxjLoadDeviceData /etc/apache2/device.xml
453 </program>
454 </li>
455 <li>ChxjLoadEmojiData<br />
456 絵文字変換定義ファイルを指定します。
457 <program title="ex)">
458 ChxjLoadEmojiData /etc/apache2/chxj/emoji.xml
459 </program>
460 </li>
461 <li>ChxjImageEngine<br />
462 画像変換エンジンを有効にします。
463 パラメータとしてOnとOffを指定できます。
464 DefaultはOffです。
465 <program title="ex)">
466 ChxjImageEngine On
467 </program>
468 </li>
469 <li>ChxjImageCacheDir<br />
470 イメージの一時ファイル保存場所を指定します。
471 <program title="ex)">
472 ChxjImageCacheDir /tmp
473 </program>
474 </li>
475 <li>ChxjImageCacheLimit<br />
476 イメージの一時ファイル保存許容量を指定します。
477 下記は1MByteの例。
478 <program title="ex)">
479 ChxjImageCacheLimit 1048576
480 </program>
481 </li>
482 <li>ChxjImageCopyright<br />
483 イメージに著作権情報を付与します。
484 <program title="ex)">
485 ChxjImageCopyright "chosakuken jyoho"
486 </program>
487 </li>
488 <li>ChxjConvertRule<br />
489 HTML変換エンジンの適用ルールを記述します。
490 本ディレクティブを使用し、変換エンジンのOn|Offを指定します。
491 DefaultはOFFです。
492 また、ルールは記述された順番に評価し、マッチするものがあれば、その時点で対象ルールを適用します。
493 パラメータは3つ必要です。下記にパラメータを記します。
494 <table title="パラメータ">
495 <tbody>
496 <tr>
497 <td>第1パラメータ</td><td>URIを評価するPerl互換の正規表現を指定します</td>
498 </tr>
499
500 <tr>
501 <td>第2パラメータ</td><td>HTML変換エンジンのOn|Offを指定します。Onの場合は"EngineOn"。Offの場合は"EngineOff"を指定します。"EngineOn|EngineOff"の他に"CookieOn|CookieOff"を指定することもできます。複数指定する場合は","で区切って指定します。</td>
502 </tr>
503 <tr>
504 <td>第3パラメータ</td><td>文字コードを指定します。ここで指定した文字コードから"CP932"に変換します。指定できる文字コードはiconv -lコマンドによって確認することができます。変換しなくて良い場合はNONEを指定してください。</td>
505 </tr>
506 <tr>
507 <td>第4パラメータ</td><td>省略した場合は、携帯ページからの変換を意味します。PC用ページからの変換を行う場合は"PC"を第四パラメータに指定します。</td>
508 </tr>
509 <tr>
510 <td>第5パラメータ</td><td>サーバサイドアプリケーションに渡すUser-Agentを指定します。
511 例えば、wordpress等のようにCHTMLを出力するアプリケーションがある場合は、"DoCoMo/1.0/N501i"等適当なUser-Agentを指定することによって、アプリケーションにCHTMLを出力するように指示することができます。
512 ここで指定したUser-AgentはHTML出力時には評価されません。</td>
513 </tr>
514 </tbody>
515 </table>
516 <program title="ex)">
517 ChxjConvertRule "^/chxj.+$/" EngineOn EUC-JP
518 </program>
519 </li>
520 <li>ChxjCookieDir<br />
521 クッキーを使用する場合に指定します。クッキーの内容を保存するディレクトリを指定します。
522 指定しない場合は/tmpに保存されます。
523 <program title="ex)">
524 &lt;Location /&gt;
525 ChxjCookieDir /tmp
526 &lt;/Location&gt;
527 </program>
528 詳細は「Cookieシミュレート機能」の項を参照ください。
529 </li>
530 <li>ChxjCookieTimeout<br />
531 クッキーを使用する場合に指定します。クッキーの保持期間を秒単位で指定します。
532 指定しない場合は、1800秒でクッキーデータを破棄します。
533 <program title="ex)">
534 &lt;Location /&gt;
535 ChxjCookieTimeout 10
536 &lt;/Location&gt;
537 </program>
538 詳細は「Cookieシミュレート機能」の項を参照ください。
539 </li>
540 </ol>
541 </subsection>
542 </section>
543 <section title="対応するCHTMLタグ">
544 変換可能なCHTMLタグは以下のとおりです。
545
546 <table title="対応タグ一覧">
547 <thead>
548 <tr>
549 <td>タグ</td>
550 <td>属性</td>
551 <td>CHTML</td>
552 <td>HDML</td>
553 <td>XHTML</td>
554 <td>JHTML</td>
555 <td>備考</td>
556 </tr>
557 </thead>
558 <tbody>
559 <tr>
560 <td>&lt;HTML&gt;</td>
561 <td align="center"> </td>
562 <td align="center"></td>
563 <td align="center"></td>
564 <td align="center"></td>
565 <td align="center"></td>
566 <td align="left">属性を指定した場合は無視します</td>
567 </tr>
568 <tr>
569 <td>&lt;META&gt;</td>
570 <td align="center">http-equiv</td>
571 <td align="center"></td>
572 <td align="center">×</td>
573 <td align="center"></td>
574 <td align="center"></td>
575 <td align="left">CHTML1.0、HDMLでは無視します</td>
576 </tr>
577 <tr>
578 <td> </td>
579 <td align="center">content</td>
580 <td align="center"></td>
581 <td align="center">×</td>
582 <td align="center"></td>
583 <td align="center"></td>
584 <td align="left">CHTML1.0、HDMLでは無視します</td>
585 </tr>
586 <tr>
587 <td>&lt;HEAD&gt;</td>
588 <td align="center"> </td>
589 <td align="center"></td>
590 <td align="center"></td>
591 <td align="center"></td>
592 <td align="center"></td>
593 <td align="left">属性を指定した場合は無視します</td>
594 </tr>
595 <tr>
596 <td>&lt;TITLE&gt;</td>
597 <td align="center"> </td>
598 <td align="center"></td>
599 <td align="center"></td>
600 <td align="center"></td>
601 <td align="center"></td>
602 <td align="left">属性を指定した場合は無視します</td>
603 </tr>
604 <tr>
605 <td>&lt;BASE&gt;</td>
606 <td align="center"> </td>
607 <td align="center"></td>
608 <td align="center">×</td>
609 <td align="center"></td>
610 <td align="center"></td>
611 <td align="left">HDMLでは無視します</td>
612 </tr>
613 <tr>
614 <td>&lt;BODY&gt;</td>
615 <td align="center">bgcolor</td>
616 <td align="center"></td>
617 <td align="center">×</td>
618 <td align="center"></td>
619 <td align="center"></td>
620 <td align="left">HDML、CHTML1.0、CHTML2.0では無視します</td>
621 </tr>
622 <tr>
623 <td> </td>
624 <td align="center">text</td>
625 <td align="center"></td>
626 <td align="center">×</td>
627 <td align="center"></td>
628 <td align="center"></td>
629 <td align="left">HDML、CHTML1.0、CHTML2.0では無視します</td>
630 </tr>
631 <tr>
632 <td> </td>
633 <td align="center">link</td>
634 <td align="center"></td>
635 <td align="center">×</td>
636 <td align="center"></td>
637 <td align="center"></td>
638 <td align="left">HDML、CHTML1.0、CHTML2.0では無視します</td>
639 </tr>
640 <tr>
641 <td>&lt;A&gt;</td>
642 <td align="center">href</td>
643 <td align="center"></td>
644 <td align="center"></td>
645 <td align="center"></td>
646 <td align="center"></td>
647 <td align="left"> </td>
648 </tr>
649 <tr>
650 <td> </td>
651 <td align="center">accesskey</td>
652 <td align="center"></td>
653 <td align="center"></td>
654 <td align="center"></td>
655 <td align="center"></td>
656 <td align="left"> </td>
657 </tr>
658 <tr>
659 <td>&lt;BR&gt;</td>
660 <td align="center"> </td>
661 <td align="center"></td>
662 <td align="center"></td>
663 <td align="center"></td>
664 <td align="center"></td>
665 <td align="left"> </td>
666 </tr>
667 <tr>
668 <td>&lt;FONT&gt;</td>
669 <td align="center">color</td>
670 <td align="center"></td>
671 <td align="center">×</td>
672 <td align="center"></td>
673 <td align="center"></td>
674 <td align="left">HDML,CHTML1.0では無視します</td>
675 </tr>
676 <tr>
677 <td>&lt;FORM&gt;</td>
678 <td align="center">action</td>
679 <td align="center"></td>
680 <td align="center"></td>
681 <td align="center"></td>
682 <td align="center"></td>
683 <td align="left"> </td>
684 </tr>
685 <tr>
686 <td> </td>
687 <td align="center">method</td>
688 <td align="center"></td>
689 <td align="center">×</td>
690 <td align="center"></td>
691 <td align="center"></td>
692 <td align="left">HDMLでは無視します</td>
693 </tr>
694 <tr>
695 <td>&lt;INPUT&gt;</td>
696 <td align="center">name</td>
697 <td align="center"></td>
698 <td align="center"></td>
699 <td align="center"></td>
700 <td align="center"></td>
701 <td align="left"> </td>
702 </tr>
703 <tr>
704 <td> </td>
705 <td align="center">type</td>
706 <td align="center"></td>
707 <td align="center"></td>
708 <td align="center"></td>
709 <td align="center"></td>
710 <td align="left">text,password,hidden,radio,checkbox,submitに対応</td>
711 </tr>
712 <tr>
713 <td> </td>
714 <td align="center">value</td>
715 <td align="center"></td>
716 <td align="center"></td>
717 <td align="center"></td>
718 <td align="center"></td>
719 <td align="left"></td>
720 </tr>
721 <tr>
722 <td> </td>
723 <td align="center">istyle</td>
724 <td align="center"></td>
725 <td align="center"></td>
726 <td align="center"></td>
727 <td align="center"></td>
728 <td align="left"> </td>
729 </tr>
730 <tr>
731 <td>&lt;SELECT&lt;</td>
732 <td align="center">name</td>
733 <td align="center"></td>
734 <td align="center"></td>
735 <td align="center"></td>
736 <td align="center"></td>
737 <td align="left"> </td>
738 </tr>
739 <tr>
740 <td> </td>
741 <td align="center">size</td>
742 <td align="center"></td>
743 <td align="center">×</td>
744 <td align="center"></td>
745 <td align="center"></td>
746 <td align="left">HDMLでは無視します</td>
747 </tr>
748 <tr>
749 <td>&lt;OPTION&gt;</td>
750 <td align="center">value</td>
751 <td align="center"></td>
752 <td align="center"></td>
753 <td align="center"></td>
754 <td align="center"></td>
755 <td align="left"><note>必ず閉じてください。そのうち対応します。</note></td>
756 </tr>
757 <tr>
758 <td> </td>
759 <td align="center">checked</td>
760 <td align="center"></td>
761 <td align="center"></td>
762 <td align="center"></td>
763 <td align="center"></td>
764 <td align="left"> </td>
765 </tr>
766 <tr>
767 <td>&lt;DIV&gt;</td>
768 <td align="center">align</td>
769 <td align="center"></td>
770 <td align="center"></td>
771 <td align="center"></td>
772 <td align="center"></td>
773 <td align="left"> </td>
774 </tr>
775 <tr>
776 <td>&lt;HR&gt;</td>
777 <td align="center"> </td>
778 <td align="center"></td>
779 <td align="center"></td>
780 <td align="center"></td>
781 <td align="center"></td>
782 <td align="left"> </td>
783 </tr>
784 <tr>
785 <td>&lt;CENTER&gt;</td>
786 <td align="center"> </td>
787 <td align="center"></td>
788 <td align="center"></td>
789 <td align="center"></td>
790 <td align="center"></td>
791 <td align="left"> </td>
792 </tr>
793 <tr>
794 <td>&lt;IMG&gt;</td>
795 <td align="center">src</td>
796 <td align="center"></td>
797 <td align="center"></td>
798 <td align="center"></td>
799 <td align="center"></td>
800 <td align="left"> </td>
801 </tr>
802 <tr>
803 <td>&lt;CHXJ:IF&gt;</td>
804 <td align="center">lang</td>
805 <td align="center"></td>
806 <td align="center"></td>
807 <td align="center"></td>
808 <td align="center"></td>
809 <td align="left">lang="chtml" lang="xhtml" lang="hdml" lang="jhtml"が指定できます</td>
810 </tr>
811 </tbody>
812
813 上記以外のタグは全て無視されます。
814
815 </table>
816
817 </section>
818 <section title="独自拡張タグ">
819 <ol>
820 <li>&lt;CHXJ:IF&gt;<br />
821
822 &lt;CHXJ:IF&gt;タグと&lt;/CHXJ:IF&gt;タグではさまれたタグやテキストは、
823 変換せずに<b>そのまま</b><note>変換しませんので注意が必要です</note>出力します。必須の属性としてlangがあります。lang属性を指定することによって、
824 例えば、<b>「HDML機の場合のみ出力させる」</b>といったことを可能にします。<br />
825 <br />
826 ex)
827 <program title="HTML文書中にHDML機の場合のみ有効にしたいタグ、または文書がある場合">
828 &lt;CHXJ:IF lang="HDML" &gt;
829 &lt;NODISPLAY&gt;
830 &lt;ACTION TYPE=ACCEPT TASK=GOSUB DEST='device:data/dnld?url=abc&amp;name=abc.jpg&amp;size=100&amp;disposition=devjaww&amp;title=test'&gt;
831 &lt;/NODISPLAY&gt;
832 &lt;/CHXJ:IF&gt;
833 </program><br />
834
835 ex)
836 <program title="i-Modeのみ出力したい文書がある場合">
837 &lt;CHXJ:IF lang="chtml" &gt;
838 シークレットコードがどーのこーの。
839 &lt;/CHXJ:IF&gt;
840 </program><br />
841
842 また、lang属性は、複数指定することも可能です。<br />
843
844 <program title="HDML機,J-PHONE機は以下を出力します">
845 &lt;CHXJ:IF lang="chtml" lang="jhtml"&gt;
846 あなたの携帯は、HDML機かJ-HTML機です。
847 &lt;/CHXJ:IF&gt;
848 </program><br />
849
850 </li>
851 </ol>
852 </section>
853
854 <section title="絵文字について">
855 i-Mode用の絵文字を書いておけば、アクセスしたキャリアによって、mod_chxjが対応の絵文字に自動変換します。
856 ソースに2byteのバイナリコードを直接書いても、10進参照文字列<note>16進参照文字列には対応していません</note>&amp;#XXX;の形)で書いても、どちらでも変換対象になります。
857 10進参照文字列で書いた場合は、mod_chxjにより、自動で2バイトコードに変換します。
858 <subsection title="絵文字変換定義">
859 絵文字の変換に関する動作を変えたい場合(例えば「ハートがあったら、AUの場合はスペードに」とか、「変換定義がおかしい」といった場合)は、
860 emoji.xmlファイルを直接編集することによって定義を変更することが可能です。emoji.xmlはXMLファイルとなっていますので、vi等で簡単に定義を
861 変更することができます<note>厳密にはXMLになっていないので、日本語の記述はSJISでお願いします。</note>
862
863 <br />
864 以下に、emoji.xmlファイルの一部を記します。
865 <program title="emoji.xml">
866 &lt;?xml encoding="Shift_JIS" &gt;
867
868 &lt;emoji&gt;
869 &lt;set&gt;
870 &lt;no&gt;1&lt;/no&gt;
871 &lt;imode&gt;
872 &lt;hex1&gt;f8&lt;/hex1&gt;
873 &lt;hex2&gt;9f&lt;/hex2&gt;
874 &lt;string&gt;&amp;#63647;&lt;/string&gt;
875 &lt;description&gt;&lt;/description&gt;
876 &lt;/imode&gt;
877 &lt;ezweb&gt;
878 &lt;A&gt;44&lt;/A&gt;
879 &lt;B&gt;44&lt;/B&gt;
880 &lt;C&gt;44&lt;/C&gt;
881 &lt;D&gt;44&lt;/D&gt;
882 &lt;/ezweb&gt;
883 &lt;jphone&gt;
884 &lt;string&gt;$Gj&lt;/string&gt;
885 &lt;/jphone&gt;
886 &lt;/set&gt;
887 </program>
888
889 絵文字の定義は、&lt;emoji&gt;タグから&lt;/emoji&gt;タグまでの間にあります。その中の要素を説明します。
890 1つの絵文字につき、1つのセット(&lt;set&gt;タグから&lt;/set&gt;タグまで)とし、キャリア毎の絵文字を定義しています。
891
892 <ol>
893 <li>&lt;imode&gt;要素<br />
894 まず、元となるi-Mode用の絵文字は、&lt;imode&gt;タグにはさまれた間に定義されています。
895 &lt;imode&gt;要素は、2バイトコード要素(&lt;hex1&gt;&lt;hex2&gt;)と、
896 10進参照文字列要素(&lt;string&gt;)を保持していて、この2つの要素を変換元の値として使用します。
897 アクセスしてきた端末が、i-Mode機であった場合で、かつCHTML中に10進参照文字列が絵文字として書かれている場合には、
898 &lt;hex1&gt;&lt;hex2&gt;要素に定義されている値に置換します。
899 </li>
900 <br />
901 <br />
902 <li>&lt;ezweb&gt;要素<br />
903 アクセスしてきた端末が、AU機であった場合、&lt;ezweb&gt;要素に定義されている値に変換します。
904 &lt;ezweb&gt;要素は、&lt;A&gt;&lt;D&gt;要素を持っていて、それぞれAUの絵文字タイプA〜Dに対応していますので、
905 もし、Dタイプの絵文字端末であったなら、&lt;D&gt;要素に定義されている値に変換します。ここで定義されている値は、
906 HDML機の場合は、<b>&lt;IMG ICON="XX"&gt;</b>の"XX"の部分に当てはめられて、置換されます。
907 XHTML機の場合は、<b>&lt;IMG LOCALSRC="XX"&gt;</b>の"XX"の部分に当てはめられて、置換されます。
908 </li>
909 <br />
910 <br />
911 <li>&lt;jphone&gt;要素<br />
912 アクセスしてきた端末が、SoftBank/Vodafone/J-Phone端末であった場合、&lt;jphone&gt;要素に定義されている値に変換します。
913 &lt;jphone&gt;要素は、&lt;string&gt;要素を保持していて、ここで定義されている値を直接使用します。
914 </li>
915 </ol><br />
916 emoji.xmlに定義されていない絵文字で、変換したい絵文字がある場合には、このファイルに新たな定義を足せば、
917 変換するようになります。
918 </subsection>
919 </section>
920
921
922 <section title="デバイス定義 device_data.xml">
923 mod_chxjの動作を決定付ける重要な定義です。変換対象の端末は全て、device_data.xmlファイルに定義される必要があります。
924 定義されていない端末は、mod_chxjとしては、認識することができません。認識できない場合には、変換せずにそのまま出力します。ただし、Perl互換の正規表現によって定義できるため、正規表現の書き方によっては全ての機種に対応させることも可能です。
925 </section>
926
927
928 <section title="イメージ画像変換機能">
929 mod_chxjには、JPEG、GIF、PNG、BMPファイルを置いておくだけで、デバイス定義に従って、それぞれのキャリア対応のフォーマットに変換する機能があります。
930 画像のサイズ(縦X横)も、端末の画面サイズに合わせて変換します。
931 画像のサイズ(バイト数)については、デバイス定義中のキャッシュサイズを見て、その値よりも小さくなるように<b>努力</b>しますが、元の画像が
932 大きすぎる場合や、複雑な画像の場合には、キャッシュサイズよりも小さくできずに表示できない場合があります。
933 <br />
934 それぞれのタグで指定する場合には、ファイル名の拡張子(.jpgや.gif等)をはずした形で指定します。<br />
935 本機能には3つのモードが存在します。そのモードを以下に記します。
936
937 <subsection title="サムネイルモード">
938 端末側画面サイズの約3分の1程度のサイズ(縦X横)に画像を縮小表示します。
939 <program title="サムネイルモード 使用例">
940 &lt;IMG SRC="/img/logo?Mode=Thumbnail"&gt;
941 </program>
942 </subsection>
943 <subsection title="壁紙モード">
944 端末側画面のサイズにマッチするサイズに拡大・縮小します。横長の画像の場合には、縦幅を合わせた後に左右をトリミングします。
945 <program title="壁紙モード 使用例">
946 &lt;IMG SRC="/img/logo?Mode=WP"&gt;
947 </program>
948 </subsection>
949 <subsection title="EzGetモード">
950 壁紙ダウンロードを行いたい場合に使用します。EzGETモードは、壁紙モードで出力される画像サイズと同一サイズの画像が使用されます。
951 <program title="EzGetモード 使用例">
952 &lt;A HREF="/img/logo?Mode=EzGet"&gt;
953 </program>
954 </subsection>
955 <subsection title="その他の機能">
956 モードの他に、画像サイズ(縦X横)を直接指定することも可能です。
957 <b>w</b>パラメータ、<b>h</b>パラメータを使用して指定します。
958 <ol>
959 <li>wパラメータ<br />
960 横幅を指定します。
961 </li>
962 <li>hパラメータ<br />
963 縦幅を指定します。
964 </li>
965 <program title="w/hパラメータ 使用例">
966 &lt;IMG SRC="/img/logo?w=100&amp;h=200"&gt;
967 </program>
968 <li>User-Agentパラメータ(uaパラメータ)<br />
969 User-Agentを指定します。指定した場合は、リクエストヘッダ中のUser-Agentを本パラメータの値で上書きします。
970 このパラメータに"IGN"を指定した場合は、User-Agentを無視します。Thumbnailモード、壁紙モードと併用時は、
971 640x480を元に画像サイズを算出します。
972 </li>
973 </ol>
974 </subsection>
975 上記全てのモード、パラメータはGETリクエストとしてのみ使用できます。
976 </section>
977
978 <section title="QRコード出力機能">
979 <subsection title="QRコード出力ハンドラの登録">
980 QRコード出力機能を使用するには、QRコードハンドラを登録します。
981 httpd.confに以下の記述を追加します。
982 <program title="httpd.conf">
983 AddHandler chxj-qrcode .qrc
984 </program>
985 なお、ハンドラを登録しないでも、出力フィルターを経由させることで、QRコードを出力させることも可能です。(※QRコードの動的出力を参照)
986 </subsection>
987 <subsection title="QRコードソースファイルの設置">
988 ハンドラを登録したら、その登録した拡張子を持つファイルを用意します。
989 <program title="例:a.qrc">
990 &lt;?xml version=1.0 ?&gt;
991
992 &lt;qrcode&gt;
993 &lt;version&gt;13&lt;/version&gt;
994 &lt;level&gt;H&lt;/level&gt;
995 &lt;mode&gt;8bit&lt;/mode&gt;
996 &lt;size&gt;1&lt;/size&gt;
997 &lt;data&gt;テストデータです&lt;/data&gt;
998 &lt;/qrcode&gt;
999 </program>
1000 .qrcファイルは、qrcode要素、version要素、level要素、mode要素、size要素、data要素から成り立ちます。
1001 <ol>
1002 <li>versionタグ
1003 versionタグは出力するQRコードの生成に利用するバージョンを指定します。
1004 使用できるバージョンは、1〜40までの40種類です。
1005 </li>
1006 <li>levelタグ
1007 levelタグは出力するQRコードの生成に利用する誤り検出レベルを指定します。
1008  使用できるレベルは、L、Q、M、Hの4つです。
1009 </li>
1010 <li>modeタグ
1011 modeタグは出力するQRコードの生成に利用するモードを指定します。
1012 使用できるモードは、NUM(数字モード)ALPHA(英数字モード)8BIT(8ビットバイトモード)KANJI(漢字モード)です。
1013 </li>
1014 <li>sizeタグ
1015 sizeタグは1モジュールを何ピクセルであらわすかを指定します。
1016 0を指定した場合は、4を指定した場合と同じ動作をします。
1017  使用できるサイズは、0〜20までです。
1018 </li>
1019 <li>dataタグ
1020 dataタグは、QRコードに出力するデータを指定します。改行した場合は、改行文字もQRコード内に符号化されます。
1021 </li>
1022 </ol>
1023 </subsection>
1024 <subsection title="QRコードの動的出力機能">
1025 プログラム等を使用し、動的にQRコードを出力したい場合は、上記の.qrcファイルの内容をそのままOutputFilterに通してあげればOKです。つまり、ChxjConvertRuleディレクティブで"EngineOn"と指定したURIが指すディレクトリに設置すれば良いということです。mod_chxj内部で、Content-Typeがtext/xmlの場合、QRCode用のファイルであるかどうかを一度読み込んで判断するので、Content-Typeには、text/xmlを設定してください。
1026
1027 <program title="phpでQRコードを動的に出力する例">
1028 &lt;php
1029 $version = $_POST["version"];
1030 $level = $_POST["level"];
1031 $mode = $_POST["mode"];
1032 $size = $_POST["size"];
1033 $data = $_POST["data"];
1034
1035 header("Content-Type: text/xml; charset=Shift_JIS");
1036
1037 echo "&lt;qrcode&gt;\n";
1038 echo "&lt;version&gt;".$version."&lt;/version&gt;\n";
1039 echo "&lt;level&gt;".$level."&lt;/level&gt;\n";
1040 echo "&lt;mode&gt;".$mode."&lt;/mode&gt;\n";
1041 echo "&lt;size&gt;".$size."&lt;/size&gt;\n";
1042 echo "&lt;data&gt;".$data."&lt;/data&gt;\n";
1043 echo "&lt;/qrcode&gt;\n";
1044 &gt;
1045 </program>
1046 そして、上記のコードを、mod_chxj変換エンジンが処理するはずであるところに設置すれば完了です。
1047
1048 </subsection>
1049 </section>
1050 <section title="Cookieシミュレート機能(EXPERIMENTAL)">
1051 <subsection title="Cookieシミュレート機能(EXPERIMENTAL)">
1052 Cookieを受け付けない(無視する)端末のためにCookieをシミュレートします。本機能を有効にするためにはChxjConvertRuleディレクティブを使用する必要があります。ChxjConvertRuleディレクティブの第2パラメータにCookieOnを指定します。
1053
1054 <program title="Cookieシミュレート機能を有効にする例">
1055 ChxjConvertRule "^/chxj.+$" "EngineOn,CookieOn" "NONE"
1056 </program>
1057
1058 </subsection>
1059 <subsection title="One-Time ID">
1060 Cookieシミュレートでは、aタグ、imgタグ、formタグのURL部にOne-Time IDを埋め込むことで実現します。
1061 そのため、ユーザがブラウザの戻るボタン等で戻った場合はCookieを取得できなくなります。
1062 </subsection>
1063 <subsection title="Cookieの保存場所">
1064 Cookieの内容はサーバ側に保存されます。
1065 デフォルトではDBMを使用し、保存ディレクトリはChxjCookieDirディレクティブを使用することで指定することができます。指定しなかった場合は、/tmpに保存されます。
1066 <program title="ChxjCookieDirの例">
1067 ChxjCookieDir /var/abc
1068 </program>
1069
1070 DBMの代わりにMySQLやmemcachedを指定することもできます。その際は、ChxjCookieDirは指定する必要はありません。
1071 MySQLを使用するには、configure時にMySQL COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note>
1072 memcachedを使用するには、configure時にMEMCACHE COOKIE機能を有効にして、コンパイルする必要があります。<note>Buildの項参照</note>
1073 またMySQLを使用する場合には以下のディレクティブを指定する必要もあります。
1074 <ol>
1075 <li>ChxjCookieMysqlHost<br />
1076 MySQLサーバの動作するホストを指定します。
1077 <program title="ChxjCookieMysqlHostの例">
1078 ChxjCookieMysqlHost "localhost"
1079 </program>
1080 </li>
1081 <li>ChxjCookieMysqlPort<br />
1082 MySQLサーバのポート番号を指定します。
1083 <program title="ChxjCookieMysqlPortの例">
1084 ChxjCookieMysqlPort 3306
1085 </program>
1086 </li>
1087 <li>ChxjCookieMysqlDatabase<br />
1088 MySQLサーバのデータベース名を指定します。
1089 <program title="ChxjCookieMysqlDatabaseの例">
1090 ChxjCookieMysqlDatabase "test_db"
1091 </program>
1092 </li>
1093 <li>ChxjCookieMysqlUsername<br />
1094 MySQLサーバに接続する際に使用するユーザ名を指定します。
1095 <program title="ChxjCookieMysqlUsernameの例">
1096 ChxjCookieMysqlUsername "roottest"
1097 </program>
1098 </li>
1099 <li>ChxjCookieMysqlPassword<br />
1100 MySQLサーバに接続する際に使用するパスワードを指定します。
1101 <program title="ChxjCookieMysqlPasswordの例">
1102 ChxjCookieMysqlPassword "pwtest"
1103 </program>
1104 </li>
1105 <li>ChxjCookieMysqlSocketPath<br />
1106 MySQLのソケットパスを指定します。
1107 <program title="ChxjCookieMysqlSocketPathの例">
1108 ChxjCookieMysqlSocketPath "/tmp/mysql.sock"
1109 </program>
1110 </li>
1111 <li>ChxjCookieMysqlCharset<br />
1112 MySQLのエンコードを指定します。
1113 <program title="ChxjCookieMysqlCharsetの例">
1114 ChxjCookieMysqlCharset "utf8"
1115 </program>
1116 </li>
1117 <li>ChxjCookieMysqlTablename<br />
1118 MySQLのクッキーを保存するテーブル名を指定します。
1119 <program title="ChxjCookieMysqlTablenameの例">
1120 ChxjCookieMysqlTablename "chxj_cookie"
1121 </program>
1122 上記のように"chxj_cookie"と指定すると、実際に作成されるテーブルは、chxj_cookieとchxj_cookie_expireテーブルの2つになります。
1123 </li>
1124 </ol>
1125
1126 memcachedを使用する場合には以下のディレクティブを指定する必要もあります。
1127 <ol>
1128 <li>ChxjCookieMemcacheHost<br />
1129 memcachedの動作するホストを指定します。
1130 <program title="ChxjCookieMemcacheHostの例">
1131 ChxjCookieMemcacheHost "localhost"
1132 </program>
1133 </li>
1134 <li>ChxjCookieMemcachePort<br />
1135 memcachedのポート番号を指定します。
1136 <program title="ChxjCookieMemcachePortの例">
1137 ChxjCookieMemcachePort 11211
1138 </program>
1139 </li>
1140 </ol>
1141 </subsection>
1142 <subsection title="Cookieの保持期間">
1143 ChxjCookieTimeoutディレクティブで保持期間を指定することができます。指定しなかった場合は1800秒でサーバに保存されているCookieは削除されます。
1144 <program title="ChxjCookieTimeoutの例">
1145 &lt;Location /&gt;
1146 ChxjCookieTimeout 10
1147 &lt;/Location&gt;
1148 </program>
1149 上記の例は、10秒でタイムアウト(サーバから削除)するように指定しています。
1150 </subsection>
1151 </section>
1152
1153
1154
1155 <section title="Refererシミュレート機能(EXPERIMENTAL)">
1156 <subsection title="Refererシミュレート機能(EXPERIMENTAL)">
1157 DoCoMo端末などのRefererに対応していない機種のためにRefererシミュレート機能を提供します。
1158 本機能は、Cookieシミュレート機能を有効にすると、自動で有効になります(将来的には変更予定)。
1159 </subsection>
1160 </section>
1161 </body>
1162 </doc>

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26