2009-02-28 5 views
3

なしのURLを表示しようとしたとき、私はあなたのようにそれを要求したときに簡単にアクセスできますURLがあります。それは拡張子なしで動作する理由(私は実際に知らない奇妙なapacheの行動のhtml拡張子

 
    http://example.com/2005/01/example.html 

    or 

    http://example.com/2005/01/example 

を代わりに、それは通常の404エラーを返す必要があります)

をしかし、私は、次のURLにアクセスしようとすると:。私は404 Not Foundエラーを取得しますが、要求されたURLと同じように印刷された

 
    http://example.com/2005/01/example/ 
    (note the trailing slash) 

を:

 
    http://example.com/2005/01/example.html/ 

「.html」の部分が自動的にApacheによって追加されたようです。

質問:この動作を無効にするにはどうすればよいですか?私のApacheはUbuntuの8.10に2.2.9で

 
    http://example.com/2005/01/example/ 

:私のように私はそのURLにアクセスできるように、htmlの拡張子を非表示にするのmod_rewriteのルールを追加したいので、私はそれを行う必要があります。

ありがとうございます!

答えて

6

MultiViewsこの現象が発生する可能性があります。それを無効にしてみてください:

Options -MultiViews 
+0

これはまさに原因でした。その設定を追加すると動作が消えてしまいました(ちょっと検索しましたが、私の問題と似たものは見つかりませんでした)。ありがとうございます。 – Favio

0

example.htmlはディレクトリパス2005/01にある実際のファイルですか? mod_rewriteが既にアクティブであるようです。あなたのサーバー上でブログやコンテンツ管理システムを使用している場合は、おそらくあなたのURLへのものです。

+0

はいexample.htmlは実際のファイルです。私は実際に静的なファイルジェネレータであるJekyllを試しているので、書き換えルールはありませんでしたが、今はそれらを追加する時間です。ありがとう。 – Favio