78

我想更改浏览我的网站时显示的默认网页。我目前正在运行一个报告程序,它会输出一个名为 index.html 的文件。我无法更改它所称的文件。因此,我的目标网页必须被称为其他名称。现在,当我浏览我的网站时,它会将我带到报告页面。

据我所知,无论您如何称呼 index.html,它都会将其作为您的默认设置。我想将其更改为landing.html。我该怎么做呢?

我是一个文件夹(Folding @ Home)。报告程序是 HFM.net。HFM 可以输出包含我当前折叠统计信息的 html 文件。它命名 html 文件索引。我不希望它成为我的默认主页。我想要一个类似菜单的登陆界面,我可以在其中选择是否要查看我的统计数据或其他内容。该网站位于 /home/tyler/Documents/hfm/website(landing.html 和 hfm 的 index.html 在这里)。Apache2 位于其默认目录中。

我也在运行 Ubuntu 13.04。

4

3 回答 3

104

我建议使用.htaccess. 您只需要添加:

DirectoryIndex home.php

或您想要为其设置的任何页面名称。

编辑:基本 htaccess 教程。

1).htaccess在要更改索引文件的目录中创建文件。

  • 没有扩展
  • .在前面,以确保它是一个“隐藏”文件

在那里输入上面的行。您可能会在其中添加许多其他内容(Webfonts / 媒体文件的 AddTypes、标题的缓存、压缩的 gzip 声明等),但是这一行声明了您的新“主页”页面。

2)设置服务器以允许读取.htaccess文件(如果您的托管服务默认允许读取文件,则可能只需要在您的本地主机上)

假设您有权访问,请转到您的服务器启用的站点位置。我运行 Debian 服务器进行开发,默认站点设置/etc/apache2/sites-available/default为 Debian / Ubuntu。不确定您运行的是什么服务器,但只需搜索“可用站点”并进入“默认”文档。在那里,您将看到一个目录条目。将其修改为如下所示:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

然后重新启动您的 apache 服务器。同样,不确定您的服务器,但 Debian / Ubuntu 上的命令是:

sudo service apache2 restart

从技术上讲,你只需要重新加载,但我重新启动只是因为我觉得这样的完全刷新更安全。

完成后,您的站点应该会从您的 .htaccess 文件中读取数据,并且您应该有一个新的默认主页!附带说明,如果您有一个运行站点的子目录(例如管理部分或其他内容)并且您希望该目录具有不同的“主页”,您可以.htaccess在该子站点的根目录中放置另一个文件它将覆盖父级中的声明。

于 2013-10-11T15:57:51.957 回答
22

您还可以在 apache 的 httpd.conf 文件中设置 DirectoryIndex。

CentOS 将此文件保存在/etc/httpd/conf/httpd.conf Debian 中:/etc/apache2/apache2.conf

在文本编辑器中打开文件并找到以 DirectoryIndex 开头的行

要将landing.html 作为默认值加载(但如果没有找到index.html),请将此行更改为:

DirectoryIndex  landing.html index.html
于 2016-12-05T00:46:11.247 回答
1

我有一个类似的问题。提供 http://server/appDirectory 时,我得到了一个目录列表而不是 index.html,即使我有

<IfModule dir_module>
    DirectoryIndex index.php index.html 
</IfModule>

在我的 httpd.conf 文件中。

我的解决方案是取消注释

LoadModule setenvif_module modules/mod_setenvif.so

httpd.conf 中的一行

阿帕奇版本:2.4

于 2021-08-18T17:09:02.183 回答