我正在开发一个由两个人管理的网站。一个是我,另一个是设计师从LAN上的不同机器访问。
Conf:php,apache,windows xp,mysql。
文档根目录:d:\ www \ xampp \ htdocs。所有项目都在此作为子文件夹。
我已经设置了虚拟主机,因此我不会像http://localhost/foldername一样访问所有项目,而是http://foldername。
但对于在其他系统中的设计师,他必须访问http://computername/foldername
例如,让我在项目工资单中工作。我将以http://payroll的形式访问该广告素材,但我的设计师会将其作为http://computername/payroll访问。
我想要做的是我希望设计师以我访问的方式访问。那是http://payroll。
因此,在设计器系统中,当服务器名称为payroll时,我希望将其定向到我的机器,然后定向到项目文件夹。所以,如果他给出http://payroll,那么我系统中的应用程序应该为他运行。
我在设计器系统中设置了hosts文件以指向我的机器。所以这项工作已经完成,当他提供工资单时,http://localhost正在出现。
我应该怎么做才能让设计师可以像http://payroll一样从他的系统中访问我的项目?
答案 0 :(得分:7)
设计人员必须将每个sitename
的IP地址添加到他的hosts file,因为没有它,浏览器将无法知道在哪里查找该网站。它看起来像这样:
12.34.56.78 sitename1
12.34.56.78 sitename2
12.34.56.78 repeat.for.each.sitename
...
如果您的VirtualHost未绑定到特定IP地址,这可能就足够了。这不起作用:
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerName sitename1
...
</VirtualHost>
应该是:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName sitename1
...
</VirtualHost>
这样,只要apache看到主机名为sitename
的请求,就会为名为sitename
的网站提供服务,如果它来自同一台计算机则无关紧要。
答案 1 :(得分:1)
他可以放入他的\ windows \ system32 \ drivers \ etc \ hosts文件:
1.2.3.4 payroll
1.2.3.4应替换为系统的IP号。
启用Apache站点的\ 000-default文件应以:
开头
<VirtualHost *:80>
# from http://www.iliveinperego.com/2008/05/automatic-vhost-with-apache/
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.+)$
RewriteRule ^(.+)$ /%1$1
...
</VirtualHost>