我一直玩的Windows HOSTS文件似乎是位于C:\ Windows \(Windows 95,98是我),并在C \ Windows \ system32 \驱动程序\ etc \中(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/
我怎样才能做到这一点?
testing
要使用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>
第二个答案:
您必须使用apache虚拟主机function:
<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>
vhosts文档
HOSTS文件的唯一目的是将名称映射到IP地址; 它根本没有任何与URL有关的东西(DNS也是如此)。 你不能这样做。
除了按照build议重写URL之外,还可以使用主机头文件:
这样,当你打电话给http:// domainA的时候 ,你会看到第一个网站; 当你调用http:// domainB时 ,第二个会显示出来; networking服务器将自动识别被调用的名称,并提供相应的网站,即使两者都运行在相同的IP地址上。
如果您想使用IIS,则需要运行Windows的服务器版本才能创build多个网站; 客户端系统(如XP和Vista)上的IIS只支持一个站点。
你讲两个不同的想法:
你不能用你的主机文件做url写入。
去做 :
http://domainA/ points to http://127.0.0.1/domainA
你需要在你的web服务器上使用一个写api的url:
要么
Apache的示例configuration:
RewriteEngine on RewriteCond %{HTTP_HOST} ^domainA [NC] RewriteRule ^/(.*) http://127.0.0.1/domainA/$1 [L,R] RewriteCond %{HTTP_HOST} ^domainB [NC] RewriteRule ^/(.*) http://127.0.0.1/domainB/$1 [L,R]