0

我有一个在网络上运行的本地 Apache 服务器,并且我有许多测试机器。我希望能够连接到本地主机上的特定网站,目前它只是连接到第一个网站。

例如: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-我的网站。

有人能帮我一下吗?还有这个的英文是什么?命名空间?名称服务器之类的?

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

4

3 回答 3

1

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

您可以使用主机文件(对于单个主机)或通过 DNS 执行此操作。不过,两者都不是编程问题。

于 2013-01-12T19:19:40.623 回答
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>

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

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.com然后使用and编辑上面虚拟主机的两个副本website2.example.com

于 2013-01-12T19:28:18.977 回答
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

于 2013-01-12T19:19:52.503 回答