我在网络上运行了一台本地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。
有人可以帮我吗?还有什么英语呢?命名空间?名称服务器还是什么?
*我收到错误“找不到对象”。
答案 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
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
和website2.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