为什么index.html优先于index.php?

时间:2011-10-24 09:34:55

标签: php apache

我在服务器上有一个网站。主页是example.com/index.php。

好的,我将一个index.html命名文件上传到服务器(根目录),当我在浏览器的URL栏中输入我的网站域名时,我很惊讶,因为index.html页面已加载。

(example.com-> example.com/index.html) 所以不是我想要的。

我的问题: 为什么会这样?为什么index.html优于index.php?

5 个答案:

答案 0 :(得分:42)

这实际上取决于您正在使用的服务器。这是配置问题。使用html vs php filetype并不是有任何优势。

您可以说.html变体优先,因为它是最基本的网络格式。

如果您使用的是Apache,请检查默认的.htaccess设置:

DirectoryIndex index.html index.shtml index.php index.htm default.html Default.htm default.html Default.html default.shtml Default.shtml page1.html index.pl index.cgi index.php3 index.phtml home.htm home.html home.shtml index.wml

您可以对其进行编辑并使其符合您的需求。

答案 1 :(得分:10)

@kuroir是对的,这取决于Web服务器配置,在Apache中它是DirectoryIndex

DirectoryIndex index.html index.php index.cgi

这将优先.html个文件优先于.php个文件,优先.php个文件优先于.cgi个文件。

答案 2 :(得分:2)

我知道这已经过时了并且已被接受,但我想补充一下以防其他人遇到此问题。

我在寻找同一问题的解决方案时来到这里。 在URL中输入Wordpress“index.php”被重定向到“index.html”。 它与.htaccess无关。我终于在论坛中找到了解决方案。 Wordpress几年前修改了该程序,从URL中删除“index.php”。那么当然它会转到你的默认值(通常是index.html)。

要使其按预期运行,您需要在此处还原更改: changeset 9203。 见Forum topic

答案 3 :(得分:0)

那么它取决于你的托管服务提供商是的,90%的托管服务提供商优先考虑index.html而不是index.php或任何其他扩展。

答案 4 :(得分:0)

与所有类型的开发一样,最大的问题是维护。如果您决定更改技术,那么通过公开文件扩展名,您可以为自己设置大量工作 - 更不用说广播您选择的安全方面了。最好的情况是避免使用url重写来暴露扩展。