mod_rewriteによる静的URL



洋楽歌詞@Tube365では、PHPによる動的URLでプログラムを組んだのですが、検索エンジン最適化(Search Engine Optimization:SEO)の観点ではよろしくないとのことで、Apacheのmod_rewrite機能を利用して、静的URLへの変換にチャレンジしてみました。

多くの方が既に詳細な説明文を公開されているので、こここでは備忘録程度にしています。

.htaccessに下記のように記載すると、

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^param1-([a-z]+)$ index.php?param1=$1 [QSA,L]
RewriteRule ^param1-([a-z]+)/param2-([0-9]+)$ index.php?param1=$1&param2=$2 [QSA,L]

http://hogehoge.com/index.php?param1=foo&param2=bar

でアクセスしていたところを、

http://hogehoge.com/param1-foo/param2-bar

でアクセスができるようになります。

QSAフラグを付けると、

http://hogehoge.com/param1-foo/param2-bar&param3=boo

とアクセスした場合でも、正しく

http://hogehoge.com/index.php?param1=foo&param2=bar&param3=boo

と変換してくれます。

Leave a Reply