【アクセスアップ?対策】動的生成頁を 制的URLで見せる(アクセスできるようにする)
ここに記録しておきます。
◇検索エンジン対策、クローラー対策において 効果あるとされている
「動的生成頁を 制的URLで見せる(アクセスできるようにする)」 方法
ですね。
たとえば
というURL を
静的リンクなどを用意して
・http://www.mysite.com/test/456/
でアクセスさせたい
方法としては
・PATH INFO を利用する
・mod_rewrite を利用する 2種類が主なようです。
実はこれを恥ずかしくも知らないときに、サーバーで関知したパスを利用して
なんとか実現できないかと、知っている知識総動員で試行錯誤を繰り返した
ことがある。だめだった。
今回は「mod_rewrite」を利用して実現したが、驚くほど簡単。目的の機能を
実装することができた。簡単にここに記録しておく。
◇ http://www.mysite.com/index.php?id1=test&1d2=456
というURL を
静的リンクなどを用意して
・http://www.mysite.com/test/456/
でアクセスさせたい
方法は・・・
1:.htaccess に下記を記述し
利用したいフォルダにおく
※当然、.htaccessの設置が許されていなければならないが・・・
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)/$ index.php?mode=$1&id=$2 [L]
これだけ!
2:後はこのフォルダで処理させる
index.php で
$mode $id で 予定通りの処理を行わせることができる
アクセスは、http://www.mysite.com/test/456/ で
$_GET['mode'] に test が
$_GET['id'] に 456 が が格納されている。
ちなみに
◇PATH INFO を利用する
とは、
1:ページの拡張子を .html とし
2:html 内で phpが使える設定を用意した上で
3:http://www.mysite.com/index.html/test/456
とアクセスし
$_SERVER['PATH_INFO'] に格納された
/test/456 という値を分割して利用する
4:最後にこのままでは
index.html がアクセスURLに含まれているので
さらに .htaccess に
Options MultiViews
という記述を加えるものだ。
すると 見かけ上、
http://www.mysite.com/index.html/test/456
とアクセスしても同じ結果が得られる。
> しかし、これはうまくゆかなかった。理由を調べる必要もあるが
今回は仕事上、急ぐ必要があり、「mod_rewrite を利用する」方法に
切り替えたところ、簡単に実現することができた。













