7

我正在开发一个由两个人管理的网站。一个是我,另一个是设计师通过局域网从不同的机器访问。

配置: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那么我系统中的应用程序应该为他运行。

我已经在设计器系统中设置了主机文件以指向我的机器。所以这项工作已经完成,当他提供工资单时,我的http://localhost出现了。

我应该怎么做才能让设计师从他的系统中访问我的项目,例如http://payroll

4

2 回答 2

7

设计者必须将每个 IP 地址添加sitename到他的主机文件中,因为没有它,他的浏览器将不知道在哪里查找该站点。它可能看起来像这样:

12.34.56.78 sitename1
12.34.56.78 sitename2
12.34.56.78 repeat.for.each.sitename
...

如果您的 VirtualHosts 没有绑定到特定的 IP 地址,这可能就足够了。这不起作用:

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>
    ServerName sitename1
    ...
</VirtualHost>

它应该是:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName sitename1
    ...
</VirtualHost>

这样,sitename只要看到带有主机名的请求, apache就会为调用的站点提供服务,sitename并且无论它是否来自同一台计算机都没有关系。

于 2010-11-03T07:26:13.223 回答
1

他可以放入他的 \windows\system32\drivers\etc\hosts 文件:


1.2.3.4 payroll

其中 1.2.3.4 应替换为系统的 IP 号。

Apache sites-enabled\000-default 文件应以:


<VirtualHost *:80>
        # from http://www.iliveinperego.com/2008/05/automatic-vhost-with-apache/
        RewriteEngine on
        RewriteCond %{HTTP_HOST} ^(.+)$
        RewriteRule ^(.+)$ /%1$1
  ...
</VirtualHost>
于 2010-11-03T06:55:52.313 回答