• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:RewriteRuleでMIMEタイプ変更できない)

RewriteRuleでMIMEタイプ変更できない

このQ&Aのポイント
  • 質問文章では、.htaccessファイルを使用してMIMEタイプを変更しようとしていますが、うまくいっていないようです。
  • ブラウザで指定したURLにアクセスした際に、MIMEタイプが変更されず、元のままであることを確認しています。
  • Apacheの設定やRewriteRuleの使用方法に問題があるのか、または別の原因があるのか、ご教示いただけないでしょうか。

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

  • ベストアンサー
回答No.2

> DirectoryIndexが適用されたときのみ、つまり これも影響するとは、、、 若干手間ですが、一度Ridirectして、アクセスし直してもらうのはいかがでしょうか。 RewriteRule ^(.*)/$ $1/index.html [R=permanent,L] > 下のように " で囲むといけるようです。 > RewriteRule .* - "[T=text/html;charset=Shift_JIS]" なんと、これで良かったのか。。。m(_ _)m

nerumako
質問者

お礼

一度Ridirectする方法でやってみたいと思います。 ちなみにDirectoryIndexでアクセスした場合、 RewriteRule ^(.*)/$ $1/index.html [R=permanent,L] ではRidirectできないようで、 RewriteRule ^$ /index.html [R=permanent,L] これだとうまく行きました。 RewriteEngineってhtaccessの中に書けるは書けますが ちょっと勝手が違いますね><; この度は色々教えていただき本当にありがとうございました。

その他の回答 (1)

回答No.1

RewriteRule .* - [T=text/html] charsetを外した状態ではMIME-Typeが変更されてますか? ( ̄-  ̄ )。oO ([ ]の中に=を入れる時ってどうすればいいのかな。。。)

参考URL:
http://okwave.jp/qa2765001.html
nerumako
質問者

補足

ご回答ありがとうございます! URLの書き換えをしてしまうと[T]フラグが無効になってしまうというのは大変勉強になりました。 まさに参考URLの内容の通りでございます。 RewriteRule .* - [T=text/html] ご指摘通り、上記のようにcharsetを外してみましたが駄目でした。 ですが、ひとつ解った事がございます。 DirectoryIndexが適用されたときのみ、つまり http://hogehoge.com/ にアクセスしてindex.htmlが呼び出された時のみ[T]フラグが無視されていて、他のhtmlでは[T]フラグが有効のようでした。 http://hogehoge.com/index.html とアクセスした場合でも[T]フラグが有効でした。 DirectoryIndexもURLの書き換え扱いなのかもしれません。 DirectoryIndex適用時でも[T]フラグが有効になる手立てをご存知でしたらご教示いただけますでしょうか。 > ( ̄-  ̄ )。oO ([ ]の中に=を入れる時ってどうすればいいのかな。。。) RewriteRule .* - [T=text/html;charset=Shift_JIS] 下のように " で囲むといけるようです。 RewriteRule .* - "[T=text/html;charset=Shift_JIS]"

関連するQ&A

専門家に質問してみよう