使用条件
- cgiが使えるプロバイダー。
- 「.htaccess」というテキストファイルが設置できるプロバイダー。
プロバイダーの会員専用サイトに行くと、かような仕様が記されています。
- 「.htaccess」設置がダメでも、index.cgiを先に読み込むようになっているプロバイダー
- 「.htaccess」設置がダメでも方法はあるけど、それによりサイトコンテンツが崩れる可能性があるので得策とは言えない。
概 要
一般的に、htmlまで記さないURL(http://www.accitano.com/とか)でアクセスすると、index.htmlを最初に探すようなサーバー設定になっています。
それが存在しないと、index.htm、index.cgiとか言った、indexという名前のファイルを探し、それでもないと「ホームページがないよ〜?!」とのエラー表示が出たりするみたいです。
そこの処を、とにもかくも最初にindex.cgiを探すように設定します。それを「.htaccess」で行います。
問題&デメリット
使用サーバーが、Apacheという種類において、Netscape Navigatorでアクセスすると最初だけ文字化けが起きる場合があり、これを回避する為に、「.htaccess」内に、AddType "text/html; charset=euc-jp" .html の1行を記します。
これはNetscape Navigatorのバグらしく、それならこれを愛用しているユーザーは、他のサイトでも同じような経験をしているかもしれず、また文字化けとは言っても1度リロードしてしまえば問題はないので、携帯サイトを優先し、NNユーザーには我慢してもらうという開き直りもあるかもしれない。
また、一般的に、htmlまで記さないURL(http://homepage2.nifty.com/nakajima/とか)でアクセスすると、実際にはindex.htmlが表示されていても「http://homepage2.nifty.com/nakajima/」となり、「http://homepage2.nifty.com/nakajima/index.html」にはならないですが、これはindex.cgiからなので、トップページ表示は、
「http://homepage2.nifty.com/nakajima/index.html」
となるのはご愛敬〜。
いずれも「http://homepage2.nifty.com/nakajima/」とするには、index.cgiの中にindex.htmlを記述すれば良いのですが、サーバー負担が大きくなるのでお勧めとは言えないかも。
*「Apache 1.3.12 文字化け問題」
http://www.asahi-net.or.jp/~AE5T-KSN/apache/charset-problem.html
*「charsetパラメタの勧め:HTMLにおける文字符号化スキームの明示方法」
http://www.fxis.co.jp/DMS/sgml/xml/saloon/html_correct_charset.html
* この情報は、@nifty FHPEXPと以下のサイトから教えて頂きました。
「.htaccess」の設置方法
以下の5行(最後に必ず改行を1つ入れる)をエディタ(メモ帳やSimpleTextとか)にコピーし、ファイル名を .htaccessとしてindex.htmlと同じディレクトリ(階層)に*ASCIIモードでFTPしてください。
上手くFTPできない時は、/htaccess として、FTPした後で名称変更。
Options +ExecCGI +Includes -Indexes
AddHandler cgi-script .cgi .pl
AddType "text/html; charset=euc-jp" .html
AddType "text/x-hdml;charset=euc-jp" .hdml
DirectoryIndex index.cgi index.html index.shtml
*ASCIIモード
MacintoshのFetchの場合は、「カスタム」→「初期設定」→「up load」→「テキスト形式」→「テキスト」に。
Windowsのは分かりません。ペコリ〜。
*設置例(順不同)
.htacccess
index.html
index.cgi
[photo]フォルダ
[documento]フォルダ
・・・・・
携帯web仕様
携帯は良く分からないので、名前が違っていたら済みません。
「DoCoMo」「J-PHONE(J-SkyWeb)」「ASTEL」「旧au」「*新auWAP2.0」の仕様。
▲ 記述タグ
「DoCoMo」「J-PHONE」「ASTEL」は、C-HTML:htmlタグの縮小版風。
「新EZweb」は、XHTML: 〃 。でもちょっと違う。
* それでもサーバーの方で、C-HTMLを自動的にXHTMLに変換してくれるそうです。
「旧EZweb」は、HDML:全然違う。
旧EZweb:au(A1000、C1000、C400、C300、C200シリーズ、デジタル)、ツーカー
新EZweb:au(C5000/A3000/C3000シリーズ)
▲ 対応画像
DoCoMo = gif
J-PHONE = png,jpeg /ステーション&パケットは、& jpeg
ASTEL = gif,png
新au = png,bmp,jpeg,gif
旧au = png,jpeg(条件付)
▲ メールフォーム method
DoCoMo = POST
J-PHONE = GET /ステーション&パケット = & POST
ASTEL = POST
新au = POST & GET
▲ 使えないモノ
スタイルシート、JavaScript、SSI、キャッシュ、履歴
結果
それぞれ上記の仕様を比較すると、画像を使う場合は、gifとpngの2つ、そして旧EZwebを加えるのなら3つのサイトを作れば良いことになります(大雑把ですが)。
そこまでしなくても取り敢えずDoCoMo(iMode)だけでもというのなら簡単だと思います。
また、画像などを入れずシンプルなテキストだけのサイトなら、たった1つで良いと言った考え方もあります(私のように)。
以下の3つの組み合わせのを作りましたので、条件に合うのをお好みで。
- index_A.cgi 画像を使わないで1つのサイトに集中させる(省く、旧EZweb用)。DoCoMo専用とし、後日機会を見つけて他の機種で試しながらその都度確認してゆく方法もあります。
- index_B.cgi 画像を使わないで、旧EZwebとそれ以外の2つに分ける(サイトは2つ)。
- index_C.cgi 画像をgifとpngを使うとして、DoCoMo用とそれ以外に分ける( 〃 : 省く、旧EZweb用)。
↑それぞれを .htaccess同様に、エディタにコピー&ペーストし、名称を index.cgi とします。
コピーすると、最上部に空行ができる場合があるので、「#!/usr/local/bin/perl」が最上部に来るように空行を削除してください。
最初の行にある、#!/usr/local/bin/perl は、いわゆる、パールへのパスという記述で、プロバイダーによって違うので、会員専用サイトにて確認し、コピー&ペーストしてください。
メモ帳やSimpleTextでも問題ないですが、エラーとかが出た場合は、秀丸エディタやJeditなどのエディタで、漢字コードは「シフトJIS」でも良いですが、改行コードは「LF(UNIX)」にして保存&再FTP。
パーミッションは、707か757。
その他
実際に私がそれぞれの携帯を購入してチェックはしていません。
しかし、幾人かのスケープゴートの知人達に迷惑チェック要請をして確認してもらったので、その指定indexまでは到達できます。
少なくともiMode、新EZweb、旧EZwebでは確認済みです。
しかし、これよりも、それぞれの携帯用のページを作るのが大変かもしれません。
厳密に見て行くと、それぞれ微妙にもタグ記述などの仕様が違っていたりして、それなりに作らないとダメでしょう。
詳細は、以下のそれぞれのサイトを参照。サイトによってはいろいろウィンドウが開くスタイルになっているので、リンクさせずここではURLのみを記します。
- iMode http://www.nttdocomo.co.jp/mc-user/i/tag/index.html
- J-PHONE(J_SKY) http://www.j-phone-east.com/index2.htm
- EZweb http://info.ezweb.ne.jp/
- ASTEl(.i) http://www.ttnet.co.jp/tokyodenwa_astel/doti/siyou/index.htm
このくらいのcgiスクリプトに著作権等があるとは思えないので、各自の責任でもって使ってください。
ふと気付いたのだけど、最初にindex.cgiを読んでくれるのなら、これにアクセスログ解析を組み込んでしまえば、一挙両得ではないかと思った。
index.shtmlなどに別のアクセスログ解析とかを貼り付けていないのなら・・・。