• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mod_rewriteが反映されない)

mod_rewriteが反映されない

このQ&Aのポイント
  • mod_rewriteを使用して、動的サイトを静的サイトに見せる効果が得られません。
  • プログラムは年月日をGETで渡す仕様で、/?year=2007&month=07&day=18のようなアドレスになります。
  • プログラムファイルを置いてあるディレクトリに.htaccessを置き、RewriteRuleを使用して/20070718のようなアクセスを実現したいと思っています。しかし、うまく反映されていません。

質問者が選んだベストアンサー

  • ベストアンサー
  • stanaka
  • ベストアンサー率44% (13/29)
回答No.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]

mine-D
質問者

お礼

ありがとうございます!いけました! これを機に、しっかり正規表現勉強したいと思います。本当にありがとうございました。感謝です!

その他の回答 (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] 他が正しいのかどうかちょっと今試せないのでわかりません。

mine-D
質問者

お礼

ご回答ありがとうございます。正規表現部分を変更してみましたが、同じく404しか返ってきませんでした…。うーん、なぜなんでしょうか。

関連するQ&A