为什么Firefox现在只有index.php存在时才会继续显示index.htm?

时间:2011-09-19 23:48:41

标签: http firefox .htaccess redirect

我以前在我的网站上有一个名为:

的网页

http://www.tanguay.info/run/index.htm

我经常访问:

http://www.tanguay.info/run

使用我的Firefox浏览器而没有其他浏览器。

我已删除该文件“ index.htm ”并将其替换为“ index.php ”。

现在我去:

http://www.tanguay.info/run

使用我的Firefox浏览器仍然显示不存在的index.htm页面的内容。

如果我明确转到

http://www.tanguay.info/run/index.htm

它正确显示了一个错误,如果我明确转到

http://www.tanguay.info/run/index.php

它正确显示了PHP页面。

我在Firefox浏览器中清除了所有缓存,但它仍然向我显示了不存在的index.htm页面。

我测试的所有其他机器上的所有其他浏览器甚至Firefox都会在转到

时显示正确的页面(index.php)

http://www.tanguay.info/run

为什么会发生这种情况以及最简单的方法(例如使用htaccess文件)让我强制使用我的Firefox浏览器以及之前已重定向到index.htm页面的所有其他浏览器,以正确显示index.php页面现在?

1 个答案:

答案 0 :(得分:1)

您可以将所有请求放在/ run目录中的.htaccess文件中,以确保所有请求都转到index.php文件。您需要确保在Apache配置中启用了mod_rewrite。

<IfModule mod_rewrite.c>
    ## Turns ModRewrite on
    RewriteEngine On

    ## Stop infinite loops
    RewriteCond %{ENV:REDIRECT_STATUS} 200
    RewriteRule .* - [L]

    ## Allow any existing file to pass through
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule .* - [L]

    ## Pass any non-existing file to index.php
    RewriteRule ^.*$ index.php [NC,L,QSA]
</IfModule>