重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

.htaccessにおいて画像は除くCGIやPHPなどもサイト内のすべてに
iモードID取得のための?guid=onを付与するために以下のように記述しましたところ

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo.*
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|swf|pdf|ico)$ [NC]
RewriteRule ^(.*)$ http://homepage.jp/?guid=ON [R=302,L]

一部CGIにおいてguid=onがURLの最後に付与されていませんでした。
調べてみたところ
http://homepage.jp/○○○.cgiや
http://homepage.jp/index.htmlのような
というURLにはURLの最後にきちんとguid=onが付与されているものの

http://homepage.jp/○○○cgi?id=○○○や
http://homepage.jp/○○○cgi&○○&○○
のようなURLにはguid=onが付与されていないことが分かり、
これらにもguid=onをつけるには
どのように記述したらいいのか困っております。
よろしくお願いします。

A 回答 (2件)

変数ありの場合が抜けています。



# guid=Onにする
RewriteEngine On

# query stringなしの場合
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo.*
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|swf|pdf|ico)$ [NC]
RewriteRule ^(.*)$ http://homepage.jp/?guid=ON [R=302,L]

# query stringありの場合
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo.*
RewriteCond %{QUERY_STRING} !guid=ON$
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png|swf|pdf|ico)$ [NC]
RewriteRule ^(.*)$ http://homepage.jp/?%{QUERY_STRING}&guid=ON [L]

変数を使用する場合としない場合の2つの条件を記載すれば多分問題なくなると思います。
    • good
    • 0

RewriteRule の QSA フラグ。



参考URL:http://wiki.bit-hive.com/tomizoo/pg/mod_rewrite% …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!