- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mod_rewriteについて教えてください。)
mod_rewriteについて教えてください
このQ&Aのポイント
- mod_rewriteについてお伺いします。http://example.com/a/以下のアクセスをhttp://example.com/b/以下にリダイレクトさせる方法を教えてください。
- mod_rewriteを使用して、http://example.com/a/以下にアクセスがあった場合にhttp://example.com/b/以下にリダイレクトする方法を教えてください。
- mod_rewriteを利用して、http://example.com/a/以下へのアクセスをhttp://example.com/b/以下にリダイレクトする方法についてお知恵を拝借したいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
変更例: RewriteEngine on RewriteRule ^/?a/(.*)$ /b/$1 [R=302,L] これでどうですか? 質問文の Rewriteのおかしい点 1. ^ の次に / を記述した場合 .htaccessではマッチしません マッチするのは httpd.confのグローバルセクションに記述したときのみです http://oshiete1.goo.ne.jp/qa4110860.html?ans_count_asc=0 の#3 上記変更例 で ^/? としたのは / が有っても無くても と言う意味ですので .htaccess でも httpd.conf でもどちらでも使えるはずです 2. $1 の意味は判りますか? 直前に ()で囲まれた パターンマッチの内容です 質問文のままだと$1 の意味が有りませんので 1.で書いた/ の問題は無くしても http://example.com/a/ にアクセスした場合のみ http://example.com/b/ にリダイレクトしますが http://example.com/a/test.html にアクセスするとマッチしません 変更例 で記述した (.*) にはその場合に test.html が入りますので http://example.com/a/ => http://example.com/b/ http://example.com/a/test.html => http://example.com/b/test.html にリダイレクトします
お礼
umasikajiroさまへ たいへんわかりやすく説明していただき ほんとうにありがとうございます。 無事に解決いたしました。 http://oshiete1.goo.ne.jp/qa4110860.html?ans_count_asc=0 についても、たいへん参考になりました。 いままでは、mod_rewriteについて解説しているサイトを拝見し みようみまねで作成しておりました。 なにげなく書いていた「/」「$」「$1」ですが .htaccessでは^のあとに/を書くとマッチしないといった「決まりごと」や 「$1」がどのような役割を果たすのかについて すごく勉強になりました。 ほんとうにありがとうございました。