2013-01-09 14 views
5

ファイルからすべての.php拡張子を削除した.htaccessファイルがあるので、localhost/path/to /ファイルに移動すると、localhost/path/to/fileにリダイレクトされます。私は新しいルールを.htaccessに追加することにした時までうまく動きました。Apacheキャッシュ.htaccessルールはありますか?

ホームフォルダ内の.htaccessファイルを削除し、次のコマンドで他のフォルダにいくつかのファイルが存在するかどうかを確認しました。cd/var/www、ls -laR | grep .htaccessと私は誰も存在しないことがわかりました。しかし、リダイレクションのルールはまだ続いています!

私はブラウザのキャッシュをすべてクリアしようとしましたが、うまくいきませんでした。私はcURLを試みましたが、Apacheの拡張子は.php拡張子を削除するという原則に従っています。 firefoxにhttpfoxの拡張機能をダウンロードし、私にlocalhost/projectname/indexに対して行ったリクエストを示し、 "Content-Location"は "index.php"です。私は無限にApacheを再起動しようとしました。

「キャッシュされた」htaccessルールを削除するにはどうすればよいですか?

編集:私は私のiPadで試してみました、私のモバイルデバイスとまだ問題が解消されないので、私はルールがどこか

EDIT保存されている確信している:私も.htmlを削除するルールを追加し、それが働きましたしかし、私がそれを消去すると、ルールはまだそこにあり、.phpも同様です。

+0

「/ etc/httpd/conf.d''または類似の場所で、グローバルなApache設定になっている可能性はありますか? –

+0

@JonasWielicki '/ etc/httpd/conf.d'は存在しませんが、'/etc/apache2/httpd.conf'は空です。 – george

+1

ブラウザのキャッシュをクリアしてみてください。 301リダイレクトは、ブラウザによってかなり積極的にキャッシュされます。 Apacheはhtaccessをキャッシュしません(デフォルトで)。 – Gerben

答えて

3

いいえ.htaccessファイルは、デフォルトではキャッシュされません。 (つまり、Apacheに.htaccessファイルをキャッシュさせる方法はありません)。それらはすべての単一の要求で再読み込みされます。

しかし、ブラウザやブラウザとサーバーの間の中間プロキシなど、リダイレクトがキャッシュされる場所があります。

また、.htaccessファイルの変更を表示するためにApacheを再起動する必要はありません。

+0

ファイルを含むディレクトリのAllowOverride Noneと、Include /.../.htaccessを組み合わせて、.htaccessをキャッシュします。これは、開始時/優雅時に一度だけ読み込まれます。 –

関連する問題