配置 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 文件中需要进行哪些修改
您可以通过几种不同的方式来完成。
将 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
将 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 On
和RewriteRule
s。有关 mod_rewrite 的更多信息,请参见 Internet 和文档。
完全独立的虚拟服务器,例如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 配置。
请告诉我这是否满足您的问题,如果不满足,我将相应地编辑答案。
我有 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 文件中需要进行哪些修改
您可以通过几种不同的方式来完成。
将
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
将
访问它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 On
和RewriteRule
s。有关 mod_rewrite 的更多信息,请参见 Internet 和文档。完全独立的虚拟服务器,例如
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 配置。
请告诉我这是否满足您的问题,如果不满足,我将相应地编辑答案。