【问题标题】:How do I change the default index page in Apache?如何更改 Apache 中的默认索引页面?
【发布时间】:2013-10-19 18:46:07
【问题描述】:

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

【问题讨论】:

  • 默认情况下,DirectoryIndex 为 index.html,但该文件不存在。只需在 /var/www/html 中创建 index.html,您就会看到您的内容。

标签: html apache indexing default


【解决方案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 中的一行

Apache 版本:2.4

【讨论】:

    【解决方案2】:

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

    DirectoryIndex home.php
    

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

    编辑:基本的 htaccess 教程。

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

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

    在那里输入上面的行。您可能会在其中添加许多其他内容(Webfonts/媒体文件的 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 的根目录,它将覆盖父节点中的声明。

    【讨论】:

    • 如何使用 htaccess?我的landing.html 文件不在同一个目录中。
    • 嗯...所以我应该做的是在我的根目录中创建一个名为“.htaccess”的文件?我的根目录是别的东西,因为我在 httpd.conf 中更改了它(我在 apache2.conf 中添加了一个“包含 httpd.conf”。那是你指的根目录吗?检查我在原始文件中的编辑发布我的情况。
    • 当我提到根目录时,我指的是 站点 的根目录(在您的情况下为/home/tyler/Documents/hfm/website),而不是您的comp。在我的回答中编辑了措辞,我可以看到这可能会被误解。
    • 你重新加载服务器了吗?而且,由于您做了自定义站点位置,您是否创建了与“默认”不同的启用站点?因为那是你需要修改的,如果是这样的话。
    • 实际上现在一切正常。知道如何引用另一个 html 文件吗?我正在尝试在图像中执行此操作。我收到 404 错误。
    【解决方案3】:

    您也可以在 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
    

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 2020-11-06
      • 2023-03-09
      • 2017-07-11
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 2014-03-01
      • 1970-01-01
      相关资源
      最近更新 更多