2005/7/12 火曜日

ぐぐる様…

カテゴリー: おぼえ書き — ryu @ 23:37:23

うーん、google が動的生成(と思われる)ページをIndexしないって、
周知の事実だったのか…。_| ̄|○

ということで、blognめもを参考に固定リンク(静的生成ページ)ぽく見えるように設定設定。

まずは、.htaccessにmod_rewrite用の設定

RewriteEngine On
RewriteRule ^([0-9]+)\.html$ /index.php?eid=$1 [QSA]
RewriteRule ^c([0-9]+)\.html$ /index.php?cid=$1 [QSA]
RewriteRule ^c([0-9]+)p([0-9]+)\.html$ /index.php?cid=$1&page=$2 [QSA]
RewriteRule ^m([0-9]{6})\.html$ /index.php?month=$1 [QSA]
RewriteRule ^m([0-9]{6})p([0-9]+)\.html$ /index.php?month=$1&page=$2 [QSA]
RewriteRule ^d([0-9]{8})\.html$ /index.php?day=$1 [QSA]
RewriteRule ^prof([0-9])\.html$ /index.php?pid=$1 [QSA]
RewriteRule ^page([0-9])\.html$ /index.php?page=$1 [QSA]
RewriteRule ^index\.rdf$ /index.php?mode=rss [QSA]

これで、疑似静的リンクでアクセス可能に成った…はずなので、
blognがはき出すHTMLを上に合わせて書き換え。

function rewrite($buf){
$buf = ereg_replace(”/index\.php\?eid=([0-9]+)”,”/\\1.html”,$buf);
$buf = ereg_replace(”/index\.php\?cid=([0-9]+)&page=([0-9]+)”,”/c\\1p\\2.html”,$buf);
$buf = ereg_replace(”/index\.php\?cid=([0-9]+)”,”/c\\1.html”,$buf);
$buf = ereg_replace(’/index\.php\?month=([0-9]{6})&page=([0-9]+)’,”/m\\1p\\2.html”,$buf);
$buf = ereg_replace(’/index\.php\?month=([0-9]{6})’,”/m\\1.html”,$buf);
$buf = ereg_replace(’/index\.php\?day=([0-9]{8})’,”/d\\1.html”,$buf);
$buf = ereg_replace(”/index\.php\?pid=([0-9])”,”/prof\\1.html”,$buf);
$buf = ereg_replace(”/index\.php\?page=([0-9])”,”/page\\1.html”,$buf);
return $buf;
}

でもって、はき出してるところで

echo rewrite( $buf[$i] );

と上の変換をして書き出す。

一応OKか。ディレクトリ階層変えるとcssとかイメージファイルへのパスが
怪しいことになるのでとりあえずださださなURLだけど良しとしよう。
動的生成ページ:BBSとか、インデックスしても保存期間が短いだろうってことや、
RefreshタグでのスパムとかでIndexしないっていうポリシーは解る…。
apache は mod_rewrite が使える状態になってないとダメ。
configure のオプションで –enabel-rewrite とかしておく必要あり。
って、うちはした覚えがかすかにしかないけど入れてたみたいヽ(´ー`)ノ

さぁ、来てみやがれ GoogleBot。

45 件のコメント

コメントはまだありません。

このコメント欄の RSS フィード トラックバック URL

コメントフォームは現在閉鎖中です。

37 queries. HTML convert time: 0.329 sec. Powered by WordPress 2.8