我在服务器上有一个网站。主页是example.com/index.php。
好的,我将一个index.html命名文件上传到服务器(根目录),当我在浏览器的URL栏中输入我的网站域名时,我很惊讶,因为index.html页面已加载。
(example.com-> example.com/index.html) 所以不是我想要的。
我的问题: 为什么会这样?为什么index.html优于index.php?
答案 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重写来暴露扩展。