繁体   English   中英

在子文件夹中查找WAMP相对URL,虚拟主机设置问题?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM