- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mod_rewriteが反映されない)
mod_rewriteが反映されない
このQ&Aのポイント
- mod_rewriteを使用して、動的サイトを静的サイトに見せる効果が得られません。
- プログラムは年月日をGETで渡す仕様で、/?year=2007&month=07&day=18のようなアドレスになります。
- プログラムファイルを置いてあるディレクトリに.htaccessを置き、RewriteRuleを使用して/20070718のようなアクセスを実現したいと思っています。しかし、うまく反映されていません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
書換え元,書換え先ともに先頭の"/"が要らない. RewriteRule ^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$ ?year=$1&month=$2&day=$3 [L] あとディレクトリのように,"20070719/"のように最後に"/"をつけてもきちんと反応するようにしたければ,最後に"/?"が必要. RewriteRule ^([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])/?$ ?year=$1&month=$2&day=$3 [L] さらに,RewriteRuleでは繰り返しの回数指定表現が使えるので, RewriteRule ^([0-9]{4})([0-9]{2})([0-9]{2})/?$ ?year=$1&month=$2&day=$3 [L]
その他の回答 (1)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.1
少なくとも正規表現の部分はおかしいですね。 RewriteRule ^/([0-9][0-9][0-9][0-9])([0-9][0-9])([0-9][0-9])$ /?year=$1&month=$2&day=$3 [L] 他が正しいのかどうかちょっと今試せないのでわかりません。
質問者
お礼
ご回答ありがとうございます。正規表現部分を変更してみましたが、同じく404しか返ってきませんでした…。うーん、なぜなんでしょうか。
お礼
ありがとうございます!いけました! これを機に、しっかり正規表現勉強したいと思います。本当にありがとうございました。感謝です!