2013-01-09 57 views
5

我有一個.htaccess文件,從文件中刪除所有.php擴展名,所以如果我去localhost/path/to /文件,它會重定向到localhost/path/to/file。 PHP一切正常,直到我決定添加一個新規則到.htaccess,它不工作。apache緩存.htaccess規則?重定向存在,即使我刪除文件

我刪除了我的home文件夾中的.htaccess文件,並檢查其他文件夾中是否存在以下命令:cd/var/www然後ls -laR | grep .htaccess和我發現沒有存在。但是重定向規則仍在被遵循!

我試圖清除我的瀏覽器的所有緩存,但仍然無法正常工作,我嘗試了cURL,而且仍然遵循原始規則去除.php文件的擴展名。我下載了httpfox擴展到firefox,它向我顯示了我對localhost/projectname/index所做的請求,並且「Content-Location」是「index.php」。我無休止地嘗試重新啓動Apache並沒有運氣。

如何擺脫「緩存」的htaccess規則?

編輯:我想在我的iPad和我的移動設備,目前仍是問題仍然存在,所以我敢肯定的規則被保存的地方

編輯:我加入了一條刪除的.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文件。)每個請求都會重新讀取它們。

但是,還有其他地方會緩存重定向,包括瀏覽器和瀏覽器與服務器之間的任何中間代理。

而且,不,您不需要重新啓動Apache,以便可以看到.htaccess文件更改。

+0

通過將包含文件的目錄的AllowOverride None與Include /.../.htaccess進行組合,來緩存.htaccess。然後,只能在開始/優雅時閱讀一次。 –