[英]WAMP relative urls looking in subfolders, virtual hosts setup issue?
关于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
所以他们工作。 但是在subfolder / 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的回答采取这里 。
完全陷入困境...任何帮助将不胜感激!
几点建议
这条线
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,因此对链接的添加不正确。
同样, 该帖子可能会更完整 ,请检查标题为“ 如何打开其他“我的虚拟主机”菜单的那部分”的底部。
还要确保您没有遵循任何建议更改\\wamp\\www\\index.php
以将行修改为
$suppress_localhost = false;
如果您将此保留为
$suppress_localhost = true;
然后,在定义了虚拟主机之后,WAMPServer主页上的项目链接应正确启动虚拟主机,并且不将localhost
添加到URL的前面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.