• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:index.htmlを省略してくるアクセスをリダイレクトしたい)

index.htmlを省略してくるアクセスをリダイレクトする方法

このQ&Aのポイント
  • ApacheのRedirect機能を利用して、index.htmlを省略したアクセスをリダイレクトする方法を説明します。
  • 目的は、index.htmlを省略してアクセスされた場合に、正しいリダイレクトが行われることです。
  • Redirect permanentを使い、ファイル名を省略したアクセスをリダイレクトする方法も説明します。

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

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.1

以下のどちらかでいけると思うのですが、どうでしょう? 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" などを使うことをお勧めします。

参考URL:
http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect
taikimuru
質問者

お礼

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でもいける気がしていますので試してみます。

その他の回答 (1)

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

> 以下方法だとディレクトリ単位でのリダイレクトになると思っているのですが > それは間違いなのでしょうか? いえ、まちがっていません。その通りです。 mod_rewriteはよく覚えてないので今日のところは回答を差し控えます。

taikimuru
質問者

お礼

ご回答ありがとうございました。

関連するQ&A