大阪府摂津市JR千里丘駅周辺密着情報!!

さくらインターネットでの URL偽装を可能な限り簡単に解説したいさくらインターネットでの URL偽装を可能な限り簡単に解説したい

[ Google Sitemaps 利用への道 TOP ]

  動的 URL は Google、YHOO などでインデックスされないことが多いため、言葉の響きは良くないが URL を ”偽装” して静的なものに見せかけてインデックスされやすくしてみる。 ただし、これも 『さくらインターネット』 の利用が大前提。
  さらに、当サイトで利用しているデータベース 『AmigoDatabase』 に手を加え、データの抽出画面、検索結果に表示される URL を ”偽装” 後の静的 URL にしてみる。


? & = を含む(動的) URL の問題点? & = を含む(動的) URL の問題点

  1. データベースやブログ (blog) を含む日記系 CGI や PHP などを利用すると、ページを表示するための URL に ? & などなどが含まれる動的 URL になってしまう
  2. Google などの検索サイトでは ? & などを含む動的 URL はインデックスされないか、されるまでに長い期間を要する
  3. 当サイトの場合、店の情報が知りたくて検索サイトを利用した人が訪れてくる場合が多いため、インデックスされない (検索結果に表示されない) のは致命的問題になる
  4. そこで、URL を偽装して静的 URL でもページが表示できるようにし、あたかも HTML ファイルであるかのように振る舞ってみることにする

.htaccess を使う.htaccess を使う

  1. URL を偽装するために .htaccess ファイルを作成する
    • テキストエディタ (Notepad(メモ帳)) 等を起動し、以下の内容を記述
    • RewriteEngine on
      RewriteOptions MaxRedirects=1
      RewriteBase /0_s-info/

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^([0-9]+)\.htm$ database.cgi?cmd=dp&dp=shop-contents.htm&num=$1 [L]
    • 上記は当サイト用のため、赤文字部分を修正
    • /0_s-info/ 部分は、データベース等があるディレクトリ名
      • 当サイトの場合、周辺情報のデータベースが /0_s-info/ というディレクトリにある
      • ここを自分のサイト用に書き換える
    • [0-9] 部分は、0 〜 9 の数字でファイル名 (偽装 URL) がリクエストされた (呼ばれた) 場合という意味
      • 当サイトの場合、動的 URL の末尾が =123 などの数字になるため [0-9] としている
      • アルファベットの場合は [a-z] と記述
      • アルファベットと数字の組み合わせになる場合は [a-z0-9] と記述
    • .htm 部分は、静的 URL をどのような拡張子で受け付けるかを記述
      • 当サイトの場合、.htm で受け付けている
      • .html とか .php でも何でも良い
    • database.cgi? ・・(略)・・ &num= 部分は、元来の動的 URL を記述
      • 当サイトの場合、database.cgi?cmd=dp&dp=shop-contents.htm&num= で、最後に数字という URL になる
      • この部分は自分のサイトで利用している CGI、PHP などがデータ (情報) を呼び出す際の URL を記述
    • 以上のことを簡単に要約すると .htaccess の内容は
    • ということになる
  2. 記述が終わったら .htaccess という名前で保存
    • テキストエディタの種類によってファイル名を受け付けてくれない場合は適当な名前で保存
    • できあがったファイルを選択し、F2 を押下してファイル名を .htaccess に変更
  3. .htaccess を FTP でアップロード
    • .htaccess の 3行目 (RewriteBase) で指定したフォルダにアップロードする
    • 当サイトとの場合は /0_s-info/ にアップロードしてある
  4. 静的 URL でサイトにアクセスし、画面表示できれば成功
    • 当サイトの場合は以下のような URL (*** は数字)
    • http://senrioka-info.net/0_s-info/***.htm


AmigoDatabase の検索結果を静的 URL で表示したいAmigoDatabase の検索結果を静的 URL で表示したい

  .htaccess で静的 URL が使用可能になってもデータベースの検索結果が動的 URL のままでは Google がクロール (crawl (這い回る)) してもインデックス (index (索引を作成)) してくれないので、静的 URL を表示するように変更してみる
  1. /lib/ (フォルダ) 内の db-html.cgi を修正する
    • 以下の行を修正
    • # =====================検索結果一覧========================
      の下、
      #  デフォルト  #
      にある
      <A href="$BaseDir/$MainCGI?cmd=j&DataNum=$VD[$REC{Data}{DataNum}]">
      部分を
      <a href="$BaseDir/$VD[$REC{Data}{DataNum}].htm">
      など、データ番号の最後に .htm を付与して表示するように変更
    • この部分は各自が改造 (変更) しているものと思われるため深くは踏み込めない
    • とにかく検索結果の URL が
    • http://senrioka-info.net/0_s-info/42.htm
      などのように、数字+.htm (または .html) になるように頑張る

AmigoDatabase のショートカット検索を静的 URL で表示したいAmigoDatabase のショートカット検索を静的 URL で表示したい

  AmigoDatabase のショートカット検索を静的 URL を表示するように変更してみる
  1. これに関しては、ショートカットを作成する際に 『ショートカット名』 を数字のみにするのを避け、アルファベットのみにする
  2. すでに作成してしまっている場合は、データが格納されているフォルダの下にある /config/ (フォルダ) の中の db-short.cgi を編集
    • <> でデータが区切られているが、それの先頭 (最も左側) がショートカット名なのでアルファベットのみの名前に変更
  3. 次に 『.htaccess を使う』 で作成した .htaccess を編集
    • 以下の行 (赤文字) を追加
    • RewriteEngine on
      RewriteOptions MaxRedirects=1
      RewriteBase /0_s-info/

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^([a-z]+)\.htm$ database.cgi?cmd=s&sc=$1 [L]
      RewriteRule ^([0-9]+)\.htm$ database.cgi?cmd=dp&dp=shop-contents.htm&num=$1 [L]
    • .htm の部分は .html でも何でも
    • この行を簡単に要約すると
    • ということになる
  4. .htaccess と、編集をしたなら db-short.cgi を FTP でアップロード
  5. 静的 URL でサイトにアクセスし、画面表示できれば成功
    • 当サイトの場合は以下のような URL (*** はアルファベット)
    • http://senrioka-info.net/0_s-info/***.htm
  6. あとはショートカット検索の URL を記述しているページを静的 URL に変更すればおしまい


  以上のような対策を施した結果、『千里丘駅周辺情報 分類一覧』 からショートカット検索を静的 URL で呼び出し、検索結果の各店舗の URL も静的 URL となり、その URL で詳細情報を呼び出せるようになった。

  • これで 『さくらインターネットでの URL偽装を可能な限り簡単に解説したい』 は終わり
  • 本当にお疲れ様でございました
  • 疲れ果ててしまった人は気晴らしに Flash の簡単なゲームでも

[ Google Sitemaps 利用への道 TOP ]