- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.htaccessでGET引数をもとにリダイレクト)
.htaccessでGET引数をもとにリダイレクト
このQ&Aのポイント
- http://test.com/ というサイトがあったとして、.htaccessを用い、 http://test.com/123 というアドレスにアクセスした場合、 http://test.com/sample.php?id=123 にリダイレクトし、 http://test.com/m/123 にアクセスした場合は、 http://test.com/m/sample.php?id=123にリダイレクトさせたいと考えています。 リダイレクト後もアドレスバーのURLは http://test.com/123、あるいは http://test.com/m/123のまま維持しているようにしたいです。
- idは常に数字のみで、サーバーはロリポップのチカッパプランです。
- 上の方は RewriteEngine onRewriteRule ^([0-9]+)$ sample.php?id=$1 としたらなんとなくできているようですが、「m」のほうは「m」ディレクトリ内に RewriteEngine onRewriteBase /m/RewriteRule /m/([0-9])$ /m/sample.php?id=$1 と置いても404エラーになってしまいます。 どうしたら良いのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「RewriteBase」で指定するパスは、URL書き換え後のファイルが存在するパスを補完するので 書き換え後の "/m/" は不要だと思います。 質問内容の設定ですと http://test.com/m/123 → http://test.com/m/m/sample.php?id=123 という書き換えになってしまう気がします。 以下のように変更すれば良いと思います。 RewriteEngine on RewriteBase /m/ RewriteRule /m/([0-9])$ sample.php?id=$1
お礼
まさにそのとおりでした。 無事解決して助かりました。ありがとうございます。