我已经安装了 Wamp,所以我可以运行我构建的一些简单的动态站点。我希望能够拥有三个或四个并学习如何在本地执行操作,然后将改进的文件上传到实时站点,而不必由于不同的位置/路径等而重写部分。
为了让 WampServer 索引页面显示我去 http-vhosts.conf 并添加<VirtualHost 127.0.0.1>
ServerName localhost
DocumentRoot "E:/wamp/www"
</VirtualHost>
我知道我将标记为 mysite.local 的站点目录放入 E:wamp/www 中,因此路径变为 E:wamp/www/mysite.local。然后我去 http-vhosts.conf 并添加<VirtualHost *:80>
ServerName mysite.local
DocumentRoot "E:/wamp/www/mysite.local"
</VirtualHost>
我的主机文件有
127.0.0.1 localhost
127.0.0.1 mysite.local
我的 httfp.conf 有
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
所以我的问题是,当我在 url 中键入 localhost 时,我的 WampServer 索引显示正常,并且 mysite.local 出现在“您的项目”下的索引页面上,这一切都很好,但是当我单击 mysite.local 时从 WampServer 链接,url 更改为 localhost/mysite.local 而不是 mysite.local,然后当我单击来自 localhost/mysite.local 的页面链接时,我得到 localhost/mysite.local/linkedpage 作为 url 和 404 错误。
mysite.local 作为 url 也会显示 WampServer 索引页面
如果我从 http-vhosts.conf 中注释掉 ServerName localhost 并重新启动 apache。当我尝试将 mysite.local 作为 url 时,我得到了我想要的东西 - mysite 工作并且所有动态链接工作。但是 WampServer 索引是 404 错误。
我想要做的就是登录 WampServer 并访问“您的项目”列表中的各个站点。
请帮助一个numpty
最佳答案
hosts
文件和 httpd.conf
看起来不错。
有些事情要尝试...
<VirtualHost *:80>
对于两个虚拟主机。 DocumentRoot
字符串有一个终端 /
. ServerName localhost:80
. localhost/
从网址。 “您的项目”链接包括 localhost/
并以根目录的路径访问项目,而不是作为独立站点,每个站点都有自己的根目录(这是虚拟主机为您提供的)。 顺便说一句,
<VirtualHost>...</VirtualHost>
指令是将每个主机名与服务器文件系统中的特定路径联系起来的东西,因此“E:/wamp/www/”中的子目录不需要“.local”后缀。从目录本身中删除“.local”后,对 DocumentRoot
进行相应的更改条目,例如 DocumentRoot "E:/wamp/www/mysite/"
.但一定要在“ServerName”条目中留下“.local”,例如。 ServerName mysite.local
, 以匹配“hosts”文件中的条目。
关于localhost - 无法让本地主机同时显示 WampServer 索引和动态 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658468/