長野県須坂市の不動産業者です。長野県北信地方の不動産情報・須坂市・小布施町・高山村・中野・飯山・菅平・飯綱・黒姫・斑尾・その他北信地方全域
 賃貸アパート・マンション・賃貸一戸建て・賃貸業務用・駐車場・売り土地(分譲地・宅地・畑・田・工場用地)・売り建物(新築・中古住宅・業務用)・リゾート物件(別荘・ペンション)


  不動産の事なら ■(株)高原開発■ へ お問い合わせ下さい         >>>English Here<<<

 宅地建物取引業免許  長野県知事(12)第1139号    一般建設業・一般土木工事業許可  長野県知事(般−24)第7553号
 〒382-0076 長野県須坂市馬場町1230-48 高原開発ビル1F   電話:026-245-7516 FAX:026-248-1218


    ホーム物件検索無料情報配信登録情報ブログ会社案内個人情報保護相互リンクお問合せ不動産ブログ

  【■不動産屋の個人的雑談&日記ブログ■-■静的HTML表示■】

<< 前のページ

2006年12月16日(土) 19:16

■CGIによる動的ページを静的MTMLページで表示する。

既に、このブログの日記には書きましたが、今回、もの凄く簡単にAmigoDatabaseの検索一覧ページ及び、詳細ページを静的HTMLで表示する事に成功しましたので、その手法を公開する事にします。

まず、『.htaccess』をdatabase.cgiの置いて有るディレクトリに作ります。
『.htaccess』の中味は以下の通りです。

RewriteEngine on
RewriteOptions MaxRedirects=1
RewriteBase /database/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9]+)\.htm$ database.cgi?cmd=dp&num=$1 [L]
RewriteRule ^([a-z]+)\.htm$ database.cgi?cmd=s&sc=$1 [L]

1行目はmod_rewriteをオンにすると言う事です。
サーバーがApacheでmod_rewriteモジュールが使える事が前提となります。
mod_rewriteモジュールについてはリダイレクトを行うものですが、詳しい事は各自調べてみて下さい。ググればかなりヒットすると思います。

3行目の/database/は実際にdatabase.cgiが置いて有るディレクトリに変更して下さい。

5行目は、詳細ページへのコマンドである
database.cgi?cmd=dp&num=*** (***は0-9の数字)
を***.htmでアクセスさせる為のものです。
つまり、/database/***.htm
でアクセスすると/database/database.cgi?cmd=dp&num=***
へリダイレクトするよって事です。
例えば
/database/101.htm
の様にリダイレクトされればOKです。

私の場合は、最初カウントアップしたかったので、database.cgi?cmd=dp&num=の所をdatabase.cgi?cmd=j&DataNum=とやってしまい、
静的表示されずに無駄に悩んで、1時間以上浪費してしまいました。
jコマンドはdatabase.cgiで2度処理を行う為に起きる現象だと思います。
サーバーによってはjコマンドが使えるかも知れませんね・・・?

6行目は同じくショートカットキーのリダイレクトです。/database/***.htm (***はa-zのアルファベット)でアクセスすると、database.cgi?cmd=s&sc=***
へリダイレクトするよって事になります。
これだけで、基本的には完了です。/database/***.htmというリンクを設置すれば、そのまま静的ページとして表示されればOKです。
例えば、
/database/all.htm
の様にリダイレクトされればOKです。
ショートカット名に数字やアルファベットの大文字が有る場合は、
^([a-z]+)を^([0-9A-Za-z]+)としてやれば良いと思います。
試してみないので確実では有りませんが、多分そんなもんだと思います。
あっ、数字は駄目ですね・・・詳細ページと同じになってしまう!
^([0-9A-Za-z]+)ではなくて、^([A-Za-z]+)じゃないとまずいですね。
ショートカットに数字が入っている場合は、/config/db-short.cgi
を編集してショートカット名をアルファベットのみにした方が安全だと思います。
db-short.cgiの4行目からショートカットが登録されています。
4行目以降の一番左がショートカット名ですから・・・
アルファベットのみにした方が安心ですね。

もう一点、検索結果ページの一覧に、詳細ページへのリンクを設置してある事がほとんどだと思いますが、
これは、/lib/db-html.cgi
を改造すればOKです。
#  デフォルト  #
にある
<A href="$BaseDir/$MainCGI?cmd=j&DataNum=$VD[$REC{Data}{DataNum}]">
部分を(※改造してある人は適当に対応する。)
<a href="$BaseDir/$VD[$REC{Data}{DataNum}].htm">
に変更すれば、良いとおもいます。
そうすれば、一覧表示の詳細ページへのリンクは、/database/***.htmに自動的に変更されるはずです。

この方法は他のCGIにも応用できますので、ほとんどのサイトがこのリダイレクトの方法を使ってCGIの動的ページを静的ページになんちゃって表示しているものと思います。
実際にカラクリが解れば、意外な程簡単に出来る事に驚きますね。

※この方法による動作の保証は一切致しません。各自の責任に於いて行って下さい。また、詳しい事は各自お調べ下さい。
※この手法を使われて、静的HTML表示に成功された方は、当サイト『 http://kogen.biz/ 』へのリンクを設置して頂くか、当ブログに打ち返し可能なトラックバックを入れて下さい・・・(願)
但し、アダルト系サイトは一切お断り!

hide0414をフォローしましょう
▼ランキング・人気投票・・・ご協力お願いします-(願)
Nagano Web RankingChamaSearch高原開発・長野県北信地方の不動産 に投票する人気サイト

written by kogen [■静的HTML表示■] [この記事のURL] [コメントを書く] [コメント(0)] [トラックバック(0)

この記事へのトラックバックPingURL
 http://kogen.biz/msm/ms.cgi/TrackBack/1/custum/custum3/1166264164 

<< 前のページ

■不動産屋の個人的雑談&日記ブログ■

MySketch Gallery 1.2.2 written by 夕雨