動的ページを静的ページに変更するmod_rewriteの使用方法

2008 年 8 月 26 日 - SEO対策関連 / ホームページ制作に役立つphp&cgiのmemo

mod_rewriteはApacheのモジュールです。
サーバーにインストールされていなければ、すみませんが、もっと詳しいサイトで調べてください。Googleで検索
ここでは、.htaccessで設定する方法をご説明します。

なぜ動的ページではなくて静的ページがいいかというと、SEO対策に有利といわれていたからです。但し、一昔前は確かにgoogleやyst等の検索エンジンはあまり動的ページ(***.php?pid=*******)等「?」「=」が付いてるURLは読み取ってくれにくかったです。
読み取ってくれても動的ページは静的ページに比べて、評価が低いというのが現実でしたが、最近に関しては、評価の差は大分と埋まってきたように感じますが、なんとなく見た目もいいので、「静的ページがいいかな」なんて思っています。

http:www.example.com/example/example.php?id=30&pw50
というURLがあったとしてこれを静的ページにしたい場合は参考例として

DirectoryIndex example.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)\.html$ example.php?id=$1&pw=$2 [L]

と.htaccessに書いて、http:www.example.com/example/フォルダに設置すれば良い。
1行目はディレクトリにアクセスがあった場合にexample.phpを見に行くつまり
http:www.example.com/example/example.php と
http:www.example.com/example/ にアクセスしても同一ページになる。
2行目はmod_rewriteを有効にする。
3行目4行目は実ファイルや実ディレクトリがあった場合は何もしないということ。
5行目はその内容にしたがって静的URLをはきだす。

以上です。
また、レンタルサーバー会社によってmod_rewriteが使えないという場合でPHPを使っている場合はPATH_INFOを使えば似た様な静的ページが作成できます。(但し拡張子の.phpが付きます。)
Googleで検索

コメントを残す