我一直在玩windows主机文件,该文件似乎位于c:\windows\ (Windows 95,98 y Me)和C\Windows\system32 32\drivers\etc\ in (Windows NT,2000,XP和Vista)下面。
我想指出
http://mydomain/到我的web服务器的特定文件夹。我的主机文件当前看起来如下:
127.0.0.1 domainA
127.0.0.1 domainB但我希望的是
http://domainA/ points to http://127.0.0.1/domainA/
http://domainB/ points to http://127.0.0.1/domainB/我怎样才能做到这一点?
若要使用rewriteModule取消注释,请删除httpd.conf文件中的下一行:
LoadModule rewrite_module modules/mod_rewrite.so下一段代码并不是我想要的。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domainA [NC]
RewriteRule ^/(.*) http://127.0.0.1/domainA/$1 [L,R]使用上面的代码,当您输入浏览器http://domainA/时,它会自动将其更改为http://127.0.0.1/domainA/,但我希望它留在http://domainA/中,同时为http://127.0.0.1/domainA/文件夹的内容提供服务。
例如:http://127.0.0.1/指向/htdocs
我希望http://domainA/指向/htdocs/domainA
将下一行添加到apache httpd.conf中:
<VirtualHost *:80>
ServerName http://domainA/
DocumentRoot "/htdocs/domainA"
</VirtualHost>
<VirtualHost *:80>
ServerName http://domainB/
DocumentRoot "/htdocs/domainB"
</VirtualHost>发布于 2009-08-26 13:33:20
第二项答覆:
您必须使用apache虚拟主机功能:
<VirtualHost *:80>
# url like http://127.0.0.1/.....
ServerName 127.0.0.1
DocumentRoot /htdocs
</VirtualHost>
<VirtualHost *:80>
# url like http://domaina/.....
ServerName domaina
DocumentRoot /htdocs/domaina
</VirtualHost>发布于 2009-08-26 11:08:37
主机文件的唯一用途是将名称映射到IP地址;它与URLS没有任何关系(DNS也是如此)。你就是不能这样做。
除了按照建议重写URL之外,还可以使用主机头:
这样,当您调用http://domainA时,您将看到第一个网站;当您调用http://domainB时,第二个web站点将出现;web服务器将自动识别被调用的名称并服务于适当的网站,即使两者运行在相同的IP地址上。
如果要使用IIS,则需要运行Windows的服务器版本才能创建多个网站;在XP和Vista等客户端系统上的IIS只支持单个网站。
https://serverfault.com/questions/58886
复制相似问题