【リダイレクト】URLへのパラメータ付加。
お世話になります。
http://example.jp/aaa のアドレスにアクセスがあった場合、 http://example.jp/aaa?id=1 という特定のページに飛ばしたく
Redirect /aaa http://example.jp/aaa?id=1
としたのですが、ループしてしまいます。
http://example.jp/aaa/example.html や、http://example.jp/aaa/example.html などにはリダイレクトさせず
http://example.jp/aaa へのアクセスのみにパラメータを追加したい場合、どのように書けば良いでしょうか?
よろしくお願い致します。(_ _)
こんな感じでしょうか。
RewriteEngine on
RewriteCond %{QUERY_STRING} !id=1
RewriteRule ^/aaa$ /aaa?id=1 [R]
同じURLにパラメータを付与するだけなので単純にリダイレクトするとどうしても無限ループになってしまいます。
それを防ぐ為にクエリにid=1が含まれない場合という条件を付けてリダイレクトしています。
転送先がパラメータ付(?id=1)になってるので、
RewriteRule で転送するほうが良いでしょう
RewriteEngine on
RewriteRule ^/aaa$ http://example.jp/aaa?id=1 [R=301,L]