我有一个内部网(网络内部)网站,但这有点麻烦。首先,这是一个家庭网络,如果这对任何人有帮助的话。我有一台运行带有 PHP 的 Apache Web 服务器的计算机,我想将本地网络上的 3 个 URL 指向它。我取得了一些成功,但它并不总是可靠的。对于 DNS 和 DHCP,我有一台 Thompson Speedtouch ST546 v6 DSL 路由器。
编辑:我需要它用于内部网网站,而不仅仅是文件托管,因为我经常使用 CMS。
为了清晰起见,重写:我有一台计算机,在本地网络上有三个子域,分别指向 IP 地址 10.0.0.2、、abp.bhc.com
和wiki.bhc.com
,server.bhc.com
以及网络服务器的个人 DNS 名称。我使用 SpeedTouch 进行 DNS 操作,并完全控制它。我摆弄了一个小时后,它通常就可以正常工作了。
我的问题是,是否有比每次需要另一个域时手动添加域更优雅的解决方案。不过,这通常似乎有效。
这是我当前的 VH 文件:
NameVirtualHost 10.0.0.2
<VirtualHost 10.0.0.2>
ServerName abp.bhc.com
DocumentRoot "htdocs/abp"
</VirtualHost>
<VirtualHost 10.0.0.2>
ServerName server.bhc.com
DocumentRoot "htdocs/server"
</VirtualHost>
<VirtualHost 10.0.0.2>
ServerName wiki.bhc.com
DocumentRoot "htdocs/wiki"
Alias /wiki htdocs/wiki/wbhc/index.php
</VirtualHost>
呃,我找到了我当前的问题。IP 地址设置错误,显然是因为我最近买了一个新的 LAN 适配器。我仍不明白是否有更好的解决方案。
答案1
有两种方法:
- 设置您自己的 DNS 并进行配置。
- 在您想要访问该站点的每个文件系统上的 hosts 文件中添加条目。
我假设您无法更改路由器上的 DNS 设置,并且不想设置和配置 Bind。要向 hosts 文件添加条目,请打开文件(Linux 上的 /etc/hosts,Windows 上的 c:\windows\system32\drivers\etc\hosts)并添加以下行:
192.168.0.1 abp.bhc.com
192.168.0.1 wiki.bhc.com
192.168.0.1 server.bhc.com
答案2
如果您没有内部 DNS 服务器,则可以将服务器的 IP 地址放入所有客户端和服务器的 hosts 文件中,如 shf301 所述。Apache 必须配置虚拟主机,如下所示:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot c:/www/wiki
ServerName wiki.bhc.com
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot c:/www/server
ServerName server.bhc.com
</VirtualHost>
文档:Apache 虚拟主机
答案3
如果它只需要适用于少数计算机,一个简单的解决方案就是在这些计算机上使用 hosts 文件:http://en.wikipedia.org/wiki/Hosts_%28file%29 那么就不需要为 DNS 烦恼了(尽管您的服务器需要固定的 IP)。
答案4
纯粹猜测,您的服务器有一个动态 IP,您可能需要考虑使用静态 IP。
此外,如果您的服务器全天候运行,那么让其他计算机顺利浏览的唯一方法是设置他们的主机文件或将其 DNS 设置到您的计算机并自行托管 DNS。