如何更改 Apache 中的默认索引页?

问题描述 投票:0回答:6

我想更改浏览网站时显示的默认网页。我当前正在运行一个报告程序,它输出一个名为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。

html apache indexing default
6个回答
118
投票

我建议使用

.htaccess
。您只需添加:

DirectoryIndex home.php

或者您想要的任何页面名称。


编辑:基本 htaccess 教程。

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

    .htaccess
    文件。

    • 无延期
    • .
      在前面,确保它是一个“隐藏”文件

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

  2. 设置服务器以允许读取

    .htaccess
    文件(可能仅在本地主机上需要,如果您的托管服务默认允许它像大多数人一样)

假设您有访问权限,请转到服务器启用的站点位置。我运行 Debian 服务器进行开发,Debian / Ubuntu 的默认站点设置位于

/etc/apache2/sites-available/default
。不确定您运行的服务器是什么,但只需搜索“可用站点”并进入“默认”文档。在那里您将看到目录条目。将其修改为如下所示:

<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
文件-site 的根目录,它将覆盖父目录中的声明。


27
投票

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

CentOS 将此文件保存在

/etc/httpd/conf/httpd.conf
德班:
/etc/apache2/apache2.conf

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

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

DirectoryIndex  landing.html index.html

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


1
投票

在Ubuntu中你可以添加文件:

/etc/apache2/mods-enabled/dir.conf

线

DirectoryIndex myhomepage.htm

然后重启apache服务

sudo systemctl restart apache2


0
投票

在 Unbuntu 中,您可以使用站点配置文件逐个站点更新默认页面,例如:

/etc/apache2/sites-available/your.domain.conf

文件中关键行的语法相同,例如我的是;

DirectoryIndex  default.htm index.htm

然后不要忘记启用并重新加载:

sudo a2ensite your.domain.conf
sudo systemctl reload apache2

0
投票

在我的 ALMALINUX 8 上:

[root@cia]# more /etc/redhat-release
AlmaLinux release 8.9 (Midnight Oncilla)
[root@cia]#

用于更改 Apache 默认网页的文件(DIR)是:

/var/www/html/

注意:如果您没有“index.html”,则 Apache 加载:

/usr/share/httpd/noindex/index.html
© www.soinside.com 2019 - 2024. All rights reserved.