RewriteRule クエリーストリングがないときにリライトする

Apache

反対のケースはよくやりたいと思いますが、今回は、クエリーストリングがないときに、違うページを表示させたい、というケースです。

例をあげると

 http://hogehoge.jp/index.php
 http://hogehoge.jp
 

の場合のみ

 http://hogehoge.jp/test/

で表示させたいというときですね。

しかし、ググってもなかなか、逆のパターンしか出てきません…(つД`)
逆のパターンというのは、

 http://hogehoge.jp/index.php?type=ugaga

 http://hogehoge.jp/ugaga/

にしたい、というやつですね。SEO対策のために、このようにする人が多いのかと思います。

しかし、英語でググったら、Stack Overflowさんにありました!
いつもながら、ありがとう!
StackOverflow!
http://stackoverflow.com/questions/3630853/rewrite-for-an-empty-query-string

サンプルを書いておくと、次の通りです。

 RewriteCond %{QUERY_STRING} ^$
 RewriteRule ^index\.php$ /test/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です