我的文档根目录在 WampServer 中不起作用,所以 CSS 和 header/footer 不可见,除非我删除绝对链接

My document root is not working in WampServer so CSS and header/footer not visible unless I take absolute links out

我正在构建一个站点并在 Wamp 服务器上实时查看它。

我已经更改了 httpd.con 中的文档根目录,尽管我的 http.con 文件中的文档根目录是 c:/wamp/www/mysite/html,但它不会显示任何 php, css 或我认为可行的图像。

这是我收到的错误消息:

警告:包括(C:/wamp/www//includes/header.php):无法打开流:C:\wamp\www\mysite\html\index.[ 中没有这样的文件或目录=89=] 第 5 行

如果我将 index.php 中的第 5 行更改为

include($_SERVER['DOCUMENT_ROOT']."mysite/html/includes/header.php");

而不是

include($_SERVER['DOCUMENT_ROOT']."/includes/header.php");

然后我可以看到 header,只是没有 css,也没有图像。

注意: 我试过带 / 不带 / 但没有运气,除非我在 document_root php 中添加 "mysite/html/" 如上所述, 然后我可以看到 header!但是没有 CSS 除非我从 link 中取出 /(取出绝对 links)。

此外,如果我将 / 从它们的开头去掉,所有内容(图像、css 等)都可以正常工作。例如改变 到 使图像出现。

与css文件links和其他图像links,以及links到其他页面相同。

基本上,我必须取出绝对的 links 才能让它们工作,但是这将在站点根目录下工作,而不是在我转到 sub-directory.[=21 时=]

疑难解答

为了查明我的文档根目录是否正常工作,我创建了一个名为 info.php 的新 php 页面,其中包含以下代码

<?php phpinfo(); ?>

然后转到 http://localhost/info.php,我得到了 404 错误。

所以我去了http://localhost/flying-squid/html/info.php

并显示了信息。

它说

_SERVER["DOCUMENT_ROOT"] C:/wamp/www/ 

即使在 httpd.con 中它说

ServerRoot "c:/wamp/bin/apache/apache2.4.9"

这些是一样的吗?

此外,在 Apache 环境下它说

DOCUMENT_ROOT  C:/wamp/www/  

在我的 httpd.con 文件中显示

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "c:/wamp/www/mysite/html/"

#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories). 
#
# First, we configure the "default" to be a very restrictive set of 
# features.  
#
<Directory />
AllowOverride none
Require all denied
</Directory>

所以基本上我的 documentroot 不工作,它没有指向正确的文件夹,因此我必须将文件夹名称添加到代码中,当然我不应该这样做?

非常感谢任何建议。我对这一切都很陌生,所以也许我做错了什么。我没有权限更改这些吗?但是我没有更改服务器根目录,这仍然是错误的,所以肯定不是这样吗?

您可能在同一台机器上有另一台服务器 运行,请检查此安装的访问日志并确保您的访问正在显示。

如果将来对任何人有帮助,必须去

C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf 并将 localhost 的条目更改为:

<VirtualHost *:80>

ServerAdmin webmaster@dummy-host.example.com

DocumentRoot "c:/wamp/www/mysite/html"

ServerName localhost 

</VirtualHost>

现在一切正常,我的文档根目录指向正确的文件夹。