我刚刚托管了一个网站。但是,当我想运行该网站时,它会打开该网站的索引(我使用 FTP 添加的文件列表,而不是 Index.html 页面)。如何解决?
请帮助...
最佳答案
如果您想在向您的网站域发出请求时显示 index.html 文件的内容,假设它是 domain.com,那么您所要做的就是将 index.html 文件上传到正确的 文档服务器上的根目录 。
文档根目录 是存放域名网站文件的文件夹。
根据您的服务器配置,文档根目录可能会以不同的方式命名,但是,它们通常是这样命名的:
/www/
/public_html/
它们也可能位于另一个目录中,例如
/home/myusername/public_html/
您的主域通常位于 www 或 public_html 文件夹中。
当有人尝试加载您的网站并且没有手动输入文件名(例如 index.php 或 index.html)时,服务器会尝试加载“目录索引”。目录索引是它应该加载的文件列表。
例如,如果您输入 domain.com(即:不是 domain.com/index.php),服务器将尝试按以下顺序加载文件。如果未找到文件,则它会尝试加载列表中的下一个文件:
http://domain.com/index.html
http://domain.com/index.htm
http://domain.com/index.php
...最后,如果您的服务器没有找到这些文件中的任何一个,它就会简单地返回目录中所有文件的列表。 See Image
为了防止这种情况,我们应该创建一个 index.html 文件并将其上传到我们之前提到的服务器的文档根目录。
尝试使用简单的文本编辑器创建您的第一个 .html 文件,方法是将下面的 html 标记复制到一个新文件中,然后将其另存为 index.html 或 download the file here
<html>
<head>
<title>My website's first HTML5 page</title>
</head>
<body>
<h1>Welcome!</h1>
<p>Sorry, but our website is under development.</p>
</body>
</html>
继续将 index.html 文件上传到您服务器的文档根目录,然后尝试访问您的网站域。它可能会加载您的 index.html 并且您的服务器现在将显示 index.html 文件的内容,而不是“DirectoryIndex 文件列表”。
当它不起作用时:
如果您刚刚在服务器的文档根文件夹中放置了一个 index.html 或 index.php 文件,例如:/public_html/并且您仍然没有根据对您的域的请求来加载这些文件,则很可能是您的服务器缺少“DirectoryIndex 指令”的特定配置。
如果失败,您可以在 .htaccess 文件中使用 DirectoryIndex 指令来指定一个或多个自定义文件,当访问者请求目录时,Web 服务器会查找这些文件。要启用 DirectoryIndex 指令,请使用文本编辑器创建/修改 .htaccess 文件,如下所示。每当用户请求服务器的文档根目录时,将 filename 替换为您想要显示的文件:
DirectoryIndex filename
您还可以指定多个文件名,Web 服务器将搜索每个文件,直到找到匹配项。
打开文本编辑器并复制以下示例指令,然后将其粘贴到新文件中:
DirectoryIndex index.php index.html index.htm
将文件另存为 .htaccess
没有文件扩展名,只需将其命名为 .htaccess 并在其前面放置一个点 (.) 以确保它是一个隐藏文件。
在该指令中,当访问者请求目录名称时,Web 服务器首先查找 index.php 文件。如果它没有找到 index.php 文件,它会查找 index.html 文件,依此类推,直到找到匹配项或用完要搜索的文件。
现在将 .htaccess 文件上传到您服务器的文档根目录。
建议重新启动服务器以使更改生效,尽管您可以尝试刷新目录以查看它是否有效。
如果您完全控制了您的服务器,您可能会发现重新启动/重新加载它很容易。但是,如果您依赖共享托管服务,您可能没有足够的权限来创建 .htaccess 文件或自行重新启动服务器,这意味着您必须联系您的托管服务提供商支持团队并要求他们为你做那个。
我希望它能帮助你。祝你好运。
关于html - 如何让网站运行 index.html 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22121056/