我在将域名redirect到服务器上的特定文件夹时遇到问题。 我正在读这里的东西:
这些是我的configuration线:
#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>
然而,它不工作..域只是不转发用户到我的网站..还有什么我必须configuration?
试试这个(假定www.mywebsite.comparsing到你的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>
假设你想要做基于名字的虚拟主机,你有NameVirtualHost *:80指令吗?
另外,你的configuration中是否有其他VirtualHost部分可能会干扰这个configuration?
很less有信息可以使用。 无论如何…
你能连接到服务器,并获得默认的欢迎页面? 你使用服务器名称或IP地址连接吗? 如果您使用IP地址,您将获得默认页面。 你重新加载configuration?
如果无法连接,是否有正确的IP地址? 这是一个防火墙/ iptables的问题? 如果apache在eth0上侦听或仅在loopback接口上侦听?
======编辑
如果使用IP地址进行连接,则会得到默认页面,因为HTTP请求中的Host:标头与VirtualHost定义的ServerName不匹配,所以不会显示默认页面。 您必须访问您的网站www.mywebsite.com专门访问您的网页(您可以添加别名,但)。
如果您不能连接名称,那么您有一个DNS问题。 快速解决scheme是将主机名和IP地址添加到您的hosts文件。 在Linux中是/etc/hosts ,在Windows中它在\windows\system32\... (我忘记了在哪里)
====== EDIT2
如果您使用其IP地址访问网站, Host:标题将包含IP地址,例如Host: 1.2.3.4:80 。 我还没有尝试过,但你可以尝试添加到你的VirtualHost作为ServerAlias的IP地址。 我假设你有一个专用的IP地址。
仅供参考,如果在Ubuntu上安装了Apache(可能其他发行版也可能与此解决scheme相关),则必须注意/etc/apache2/sites-enabled/中的符号链接名称(如果他添加手动链接而不是通过a2ensite命令。链接名称必须总是具有.conf扩展名,因为只有这些文件通过主configuration文件中的包含指令包含在内。
现在我使用了一个.lo扩展名(这是我使用的本地域名),这花了我一个多小时的工作。