- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:index.htmlを省略してくるアクセスをリダイレクトしたい)
index.htmlを省略してくるアクセスをリダイレクトする方法
このQ&Aのポイント
- ApacheのRedirect機能を利用して、index.htmlを省略したアクセスをリダイレクトする方法を説明します。
- 目的は、index.htmlを省略してアクセスされた場合に、正しいリダイレクトが行われることです。
- Redirect permanentを使い、ファイル名を省略したアクセスをリダイレクトする方法も説明します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のどちらかでいけると思うのですが、どうでしょう? Redirect permanent /i http://www.example.co.jp/hoge RedirectMatch permanent /i(/$|/index\.html$) http://www.example.co.jp/hoge/index.html あと、URLとかドメインの例示の時は"example.co.jp" とか "example.com" などを使うことをお勧めします。
その他の回答 (1)
- Toshi0230
- ベストアンサー率51% (836/1635)
回答No.2
> 以下方法だとディレクトリ単位でのリダイレクトになると思っているのですが > それは間違いなのでしょうか? いえ、まちがっていません。その通りです。 mod_rewriteはよく覚えてないので今日のところは回答を差し控えます。
質問者
お礼
ご回答ありがとうございました。
お礼
Toshi0230様 回答ありがとうございます。 ご教示いただいた以下方法で対応しましたらうまくいきました! ############################# RedirectMatch permanent /i(/$|/index\.html$) http://www.example.co.jp/hoge/index.html ############################# 私の認識ですと、 以下方法だとディレクトリ単位でのリダイレクトになると思っているのですが それは間違いなのでしょうか? ############################# Redirect permanent /i http://www.example.co.jp/hoge ############################# この場合、/i/以下の全てのファイルがリダイレクト対象となってしまう。 ⇒それは困ります。/i/以下のファイルのうちリダイレクトされては困るものが沢山ありますので。 で、ちなみになんですが、 こちらに質問した後、以下の方法で試してみたのですが、だめでした。 ############################# RewriteCond %{REQUEST_URI} ^/index.htm$ RewriteRule ^(.*)$ http://www.example.co.jp/hoge/index.html[R,L] ############################# だめな状況は、リダイレクトせず、200番でindex.htmlを返してしまいました。 そこで思ったのですが、 このmod_rewiteの場合、「^/index.htm$」に問題がありそうですね。 Toshi0230さんが教えてくれたパターンマッチ「/i(/$|/index\.html$)」 にすればmod_rewiteでもいける気がしていますので試してみます。