如何连接到localhost上的特定网站?

时间:2013-01-12 19:04:26

标签: apache

我在网络上运行了一台本地Apache服务器,而且我有很多测试机器。我希望能够连接到localhost上的特定网站,此时它只是连接到第一个网站。

例如:192.168.1.125/mywebsite。

我环顾四周,找不到连接方法,我知道这是非常简单的,但我到处寻找的是另一个问题。 (也许这太简单了。)

所以基本上我问,如何通过浏览器访问其他服务器名称。 (设置如下:)

<VirtualHost *:80>
  DocumentRoot c:/vhosts/website1
  ServerName website1
</VirtualHost>

<VirtualHost *:80>
  DocumentRoot c:/vhosts/website2
  ServerName website2
</VirtualHost>

我试过了 192.168.1.125〜mywebsite 192.168.1.125:80/mywebsite。 192.168.1.125-mywebsite。

有人可以帮我吗?还有什么英语呢?命名空间?名称服务器还是什么?

*我收到错误“找不到对象”。

3 个答案:

答案 0 :(得分:1)

使用虚拟主机。即在httpd.conf文件中有这样的内容:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName <make up a hostname here e.g. example.com>
  DocumentRoot "<path to the web site files>"
</VirtualHost>

<Directory "<path to the web site files>">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

然后将以下内容添加到C:\Windows\System32\drivers\etc

中的hosts文件中
127.0.0.1 <made up hostname as above>

然后,您可以http://<hostname as above>

访问该网站

猜测它对Linux来说是相同的,除了文件是/etc/hosts。您可以根据需要重复此操作。

编辑在运行服务器的计算机和运行浏览器的计算机上使用以下/etc/hosts

192.168.1.125 website2.example.com
192.168.1.125 website1.example.com

然后使用website1.example.comwebsite2.example.com

编辑上述虚拟主机内容的两个副本

答案 1 :(得分:0)

基于名称的apache服务基于请求中的实际主机名。要使其工作,您必须能够以您需要的任何名称引用该IP。您必须能够http://hostname/而不是http://IP才能使基于名称的虚拟主机工作。

您可以使用hosts文件(针对单个主机)或通过DNS执行此操作。但是,这也不是一个编程问题。

答案 2 :(得分:0)

在黑暗中拍摄

将您的测试机器映射到您的服务器

~/test_machines/web_1
~/test_machines/web_2
~/test_machines/web_3

然后将站点条目添加到vhost.conf中。使用mod_vhost_alias中的VirtualDocumentRoot。您可以在此处查看示例:http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html