stackoverflow上的第一篇文章!
已经好几个小时了,无法理解。
Wamp安装到C:\ wamp,网站位于C:\ wamp \ www \ groovysite.net,并在我的浏览器中显示在localhost / groovysite.net。
有一个子文件夹groovysite.net/subfolder。问题是子文件夹中包含的页面中的所有相对URL都将子文件夹添加到根文件夹之后的url路径中。
例如,两个样式表存在于
中C:/wamp/www/groovysite.net/stylesheets/app.css
C:/wamp/www/groovysite.net/style.css
在我的网站上是
<link rel="stylesheet" href="stylesheets/app.css" />
<link rel="stylesheet" href="style.css">
在hompepage groovysite.net/index.html上,url路径是
localhost/groovysite.net/stylesheets/app.css
localhost/groovysite.net/style.css
所以他们工作。但是在子文件夹/ page.html上,路径是
localhost/groovysite.net/subfolder/stylesheets/app.css
localhost/groovysite.net/subfolder/style.css
所以WAMP似乎将子文件夹路径粘贴到相对URL上。
我读到设置虚拟主机会指示WAMP为每个虚拟主机找到正确的文档根目录,并将此问题排除在外。为此,这是我目前在apache 2.4.9上的配置:
主机文件:
127.0.0.1 localhost
::1 localhost
127.0.0.1 groovysite.net
::1 groovysite.net
httpd.conf虚拟主机行未注释
的httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
<Directory "c:/wamp/www">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "c:\wamp\www\groovysite.net"
ServerName groovysite.net
ServerAlias www.groovysite.net
ErrorLog "logs/groovysite.net-error.log"
CustomLog "logs/groovysite.net-access.log" common
<Directory "c:/wamp/www/groovysite.net">
AllowOverride All
Options Indexes FollowSymLinks
Require local
</Directory>
</VirtualHost>
代码来自RiggsFolly的回答here。
完全难倒......任何帮助都将不胜感激!
答案 0 :(得分:1)
一些建议
这一行
DocumentRoot "c:\wamp\www\groovysite.net"
应该是
DocumentRoot "c:/wamp/www/groovysite.net"
它不是解决方案,但你应该使用unix分离器,而不是dos分离器。
最重要的是,您应该使用在虚拟主机定义中创建的域名运行网站,即
http://groovysite.net
or
http://www.groovysite.net`
而不是
`http://localhost/groovysite.net`
这就是创建虚拟主机的重点!如果你不这样做,那么Apache就不会获取虚拟主机定义,也不会使用正确的DocumentRoot,因此链接的添加不正确。
另外this post is probably more complete,请在底部查看名为如何启用此其他“我的虚拟主机”菜单的部分?
另外请确保您没有遵循任何建议更改\wamp\www\index.php
以将行修改为
$suppress_localhost = false;
如果您将其保留为
$suppress_localhost = true;
然后,定义了虚拟主机后,WAMPServer主页上的项目链接应正确启动虚拟主机,而不是将localhost
添加到网址的前面。