我在将域名重定向到服务器上的特定文件夹时遇到问题。我正在阅读此处的说明:
这些是我的配置行:
#This is the default Apache2 configuration lines
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
#This is what I've added
<VirtualHost *:80>
DocumentRoot /var/www/astudio/sites/mywebsite
ServerName www.mywebsite.com
</VirtualHost>
但是它不起作用...域名只是没有将用户转发到我的网站。我还需要配置什么吗?
答案1
尝试一下这个(假设 www.mywebsite.com 解析为您的 Web 服务器的 IP 地址):
#This is the default Apache2 configuration lines
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/astudio/sites/mywebsite
ServerName www.mywebsite.com
</VirtualHost>
答案2
假设你想做基于名称的虚拟主机,你有一个NameVirtualHost *:80
指示?
另外,您的配置中是否有其他VirtualHost
部分可能会干扰这一部分?
答案3
可供参考的信息非常少。无论如何...
您能连接到服务器并获取默认欢迎页面吗?您使用服务器名称还是 IP 地址进行连接?如果使用 IP 地址,您将获得默认页面。您是否重新加载了配置?
如果无法连接,您的 IP 地址是否正确?是防火墙/iptables 问题吗?Apache 是否在 eth0 上监听,还是仅在环回接口上监听?
======编辑
如果您使用 IP 地址连接,您将获得默认页面,而不是您想要的页面,因为HTTP 请求中的标头与您的 中定义的Host:
不匹配。您必须使用 专门访问您的网站才能访问您的页面(但您可以添加别名)。ServerName
VirtualHost
www.mywebsite.com
如果您无法使用该名称进行连接,则说明您遇到了 DNS 问题。快速解决方案是将主机名和 IP 地址添加到您的hosts
文件中。在 Linux 中是/etc/hosts
,在 Windows 中是\windows\system32\...
(我忘记具体在哪里了)
====== 编辑2
如果您使用其 IP 地址访问网站,则Host:
标头将包含 IP 地址,例如。Host: 1.2.3.4:80
我还没有尝试过,但您可以尝试将 IP 地址添加到您的。我假设您有一个专用的 IP 地址。VirtualHost
ServerAlias
答案4
仅供参考,如果有人在 Ubuntu 上安装了 Apache(可能其他发行版也与此解决方案相关),他必须注意符号链接的名称/etc/apache2/sites-enabled/
(如果他手动添加链接而不是通过命令添加链接)a2ensite
。链接名称必须始终带有.conf
扩展名,因为只有这些文件通过主配置文件中的 Include 指令包含在内。
现在我使用了一个.lo
扩展(这是我使用的本地域),这花费了我额外一个小时的工作时间。