我的文档根目录在 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>
现在一切正常,我的文档根目录指向正确的文件夹。
我正在构建一个站点并在 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>
现在一切正常,我的文档根目录指向正确的文件夹。