困ったこと
RewriteCond
を書く時、環境変数に実際にどんな値が入ってきているのか分からないままルールを書き始めると、まったくもって想像通りの動きにならず、どんどん .htaccess
の苦手意識が強くなりますよね。
もちろん、以下のようにして RewriteCond のログファイルを作らせることで細かい実行内容を確認できますが、レンタルサーバ等でこれが出来ない場合もあるでしょう。
RewriteLog /var/log/httpd/rewrite.log RewriteLogLevel 9
どうしたら?
その場合は、こんな風に書いてみましょう。
RewriteRule ^.*$ /?%{REQUEST_URI} [L]
これで、適当なURLにブラウザからアクセスすると、 ?%{REQUEST_URI}
が実際の値になってリダイレクトされ、ブラウザのURL欄に出てきてくれるという寸法です。
もちろん、環境変数の公開やURLの意図しない操作は脆弱性となりえるので、確認後はすぐ削除するようにしましょう!!