配置 httpd.conf 以在 Apache Red Hat Linux 上添加新站点

Configure httpd.conf to add new site on Apache Red Hat Linux

我有 linux 服务器(Red Hat Enterprise Linux 服务器版本 5.3 (Tikanga))安装了 apache。它已经用于浏览一些文档。现在我想添加一个新目录(带有 html 页面),因此无论何时浏览该目录,它都可以显示 html 页面。

但我不确定在哪里编辑 httpd.conf 文件

现有httpd.conf:

当我点击 url“http://servername/eng”时,它会显示文件夹列表。

现在,我想向现有网站添加一个网站,因此当用户点击 url“http://servername/builds”时,它应该在 [=42= 中显示一个 html 页面] 已将我的 "index.html" 页面添加到位置“/var/www/html/builds/”

为此,我将以下代码添加到 httpd.conf 文件中

请让我知道 conf 文件中需要进行哪些修改

您可以通过几种不同的方式来完成。

  1. index.html 放入 /build

    这需要你有这个设置:

    DirectoryIndex index.html
    

    (大多数平台默认应该有。)

    此外,为了使它起作用,您应该将 build/ 目录放在包含您的 http://example.com/ 文件的目录中,而不是放置新的 <Directory>。例如:

    /var/www/example.com/public_html/eng/
    /var/www/example.com/public_html/builds/
    /var/www/example.com/public_html/builds/index.html
    
  2. build/ 存储在与 example.com 完全无关的文件夹中,但仍然可以通过 example.com/builds

    访问它

    为此,您需要重写 URL,以便 example.com/builds 将用户重定向到最终的 URL。这最容易通过 mod_rewrite 实现。您在 Apache 的配置中启用 mod_rewrite 模块,确保 example.com 可以通过确保 example.com<Directory> 中正确的 AllowOverride 条目来拥有 .htaccess 文件]配置,创建/var/www//example.com/public_html/.htaccess(或类似)文件,并填写你需要的RewriteEngine OnRewriteRules。有关 mod_rewrite 的更多信息,请参见 Internet 和文档。

  3. 完全独立的虚拟服务器,例如builds.example.com/

    在这种情况下,您正在寻找的是虚拟服务器。这些在 httpd.conf 或配置本身中没有定义,但通常有专门的目录。

    例如,要添加适用于端口 80 的 builds.example.com,您需要创建以下条目:

    <VirtualHost *:80>
        ServerName builds.example.com
        DocumentRoot /var/www/builds.example.com/public_html/
    </VirtualHost>
    

    把这个放在哪里?好吧,这取决于平台。对于 Debian,您将它放在 /etc/apache2/sites-available/ 中的新文件中,例如/etc/apache2/sites-available/example.com,并在 /etc/apache2/sites-available 中对其进行符号链接(在 Debian 上,您可以使用 a2ensite <NAME_OF_FILE> 轻松完成此操作。在您的平台上,此过程可能有所不同,因此请查找("adding virtual servers on " 将是一个开始。添加虚拟服务器后,您需要重新加载 Apache 配置。

请告诉我这是否满足您的问题,如果不满足,我将相应地编辑答案。