我有两个不同的网站,我想通过wamp服务器托管它们,例如,我的第一个网站是http://one.gov.ae,第二个网站是http://two.gov.ae
我想要的是当我输入第一个网站时它应该打开第一个网站的索引,而当我键入第二个网站时,我应该打开第二个网站。
但无论我输入什么,都会打开第一个
的索引但是我添加两个位于httpd-vhosts.con并取消注释http.conf中的以下行
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
所以任何人都可以告诉我在这种情况下我能做些什么
这是我的httpd-vhosts.conf代码
<VirtualHost 172.20.10.121:80>
# ServerAdmin admin@localhost
DocumentRoot "C:/wamp/www"
ServerName localhost
# ServerAlias www.dummy-host.localhost
# ErrorLog "logs/dummy-host.localhost-error.log"
# CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>
<VirtualHost 172.20.10.121:8080>
# ServerAdmin webmaster@meera.am.gov.ae
ServerName meera.am.gov.ae
DocumentRoot "c:wamp/www/meera"
Directoryindex index.php index.html
# ErrorLog "logs/dummy-host2.localhost-error.log"
# CustomLog "logs/dummy-host2.localhost-access.log" common
</VirtualHost>
我在httpd文件中评论以下内容
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
# Order allow,deny
# Deny from all
# Satisfy All
</FilesMatch>
答案 0 :(得分:1)
但无论我输入什么,都会打开第一个
的索引
所以我猜你的服务器也在侦听8080端口。你没有提到那一部分。
问题可能在于您还使用以下内容来实现基于名称的虚拟主机:
NameVirtualHost *
......或
NameVirtualHost 172.20.10.121
这样Apache就可以通过主机名(Host
请求标头)来标识主机。如果没有发送主机或在配置中找不到匹配的ServerName
,则第一个主机(默认主机)将处理该请求。
虽然我强烈建议你使用基于名称的虚拟主机而不是这个端口疯狂。使用mysite.test
或jopbsite.test
或projectname.test
等名称。这样他们都可以在端口80上侦听,您必须为所有主机定义ServerName
,enbale name基于我的上述示例之一的虚拟主机,然后在以下位置定义您的NS条目:
c:\windows\system32\drivers\etc\hosts
文件。
修改强>
你应该在vhosts.conf中使用类似的东西:NameVirtualHost *
<VirtualHost *>
ServerName mysite.test
DocumentRoot "C:/www/mysite.test"
Directoryindex index.php index.html
</VirtualHost>
<VirtualHost *>
ServerName theothersite.test
DocumentRoot "C:/www/theothersite.test"
Directoryindex index.php index.html
</VirtualHost>
答案 1 :(得分:0)
有很多详细的教程。我有一段时间没有使用WAMP,但这是我上次使用时的指南:http://cesaric.com/?p=255
答案 2 :(得分:0)
我有一段时间没遇到这个问题了,我发现这是一个愚蠢的错误,我没有在httpd服务器上重启。
如果您的/bin
链接了PATH
目录,则可以尝试从命令提示符运行此命令:
httpd -k restart
希望它有所帮助!干杯:)
答案 3 :(得分:0)
您需要修改.conf以考虑两个独立的虚拟主机。
在下面的示例中,您基本上需要设置ServerName,ServerAlias和其他变量才能将它们分开。
<VirtualHost *>
ServerAdmin webmaster@example.org
ServerName www.example.org
ServerAlias example.org
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/www/www.example.org/htdocs/
</VirtualHost>
<VirtualHost *>
ServerAdmin webmaster@example.com
ServerName www.example.com
ServerAlias example.com
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/www/www.example.com/htdocs/
</VirtualHost>
希望有所帮助。确保在修改.conf文件之前停止Apache,然后重新启动它。