• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:.htaccessで拡張子なしのファイルを表示させる方法)

.htaccessで拡張子なしのファイルを表示させる方法

このQ&Aのポイント
  • 拡張子なしのファイルを拡張子付きのファイルに関連付けるための質問です。
  • htaccessを設定すると、リダイレクトが正しく機能しない問題が発生しています。
  • 正しいファイルを表示させるためには、.htaccessに適切なオプションコマンドを追加する必要があります。

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

  • ベストアンサー
  • aigaion
  • ベストアンサー率47% (287/608)
回答No.1

正規表現を勉強されると良いかと思います。 次のようにすると良いです。 RewriteRule ^abc1$ abc1.txt ^ は正規表現で頭にマッチするという意味です。 つまりは ^abc は abcから始まる文字列にマッチしろということですね。 これとは別に末尾にマッチする $ という正規表現があります。 abc $ であれば abcで終わる文字列にマッチするということです。 これを組み合わせて ^abc$ とすると abc で始まり abc で終わる文字列にマッチする。 つまりは abc のみを含む文字列にマッチするということになります。 正規表現は便利で、上のように全てのファイル名を書かなくとも次のように簡単に書くことができます。 RewriteEngine on RewriteRule ^abc([0-9]{1,2})$ abc$1.txt これは abc** というファイルの ** の部分が 0~99の場合です。 0~12 のようにしたい場合は次のようになります。 RewriteEngine on RewriteRule ^abc([0-9]|1[0-2])$ abc$1.txt 正規表現を勉強するといろいろと便利なので余裕があるなら勉強すると良いですよ。

leonics
質問者

お礼

詳しくご説明いただいて、ありがとうございます。 語尾に$を付けることで解決いたしました。 記入を簡単にできるのは便利ですね。もっと正規表現を勉強します。 サーバー移転後にログを見ると拡張子がないファイルが404エラーを吐きまくっていたので対策に困っていました。以前のサーバーでは特に何もしなくても拡張なしファイルが表示されていました。 何かのミスでURLに拡張子を記入し忘れたのですが、サーバーが賢くてそのまま運用されていました。 .htaccessの記入は初めてだったのですが色々勉強になりました。 もっと勉強すれば色々な事に応用できそうですね。

すると、全ての回答が全文表示されます。

関連するQ&A