0

我的网站上有一个这样设置的联系页面;

联系人.php

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="webpage.css">
        <?php include 'header.php'; ?>
    </head>
...rest of content

我最近设置了一个带有一些 mod_rewrite 更改的 htaccess 页面。

所以现在,我有像这样的网址

www.example.com/user

www.example.com/user/contact

当我查看www.example.com/user/contactCSS 无法识别并且页面不打印我的任何 div 而只是一些文字内容时。

所以如果我有

<div id="userinfo">
    User info
</div>

它只是在页面左侧显示“用户信息”,而不识别 div。

我该如何解决这个问题?

4

2 回答 2

1

使用从以下开始的绝对 URL /

<link rel="stylesheet" href="/webpage.css" />
于 2013-03-28T18:03:03.277 回答
1

CSS 中的href是相对链接。因此,对于 www.example.com/user,浏览器将在 www.example.com/webpage.css 请求 css 文件,但对于 www.example.com/user/contact ,它将请求www.example.com/user/webpage .css

这可能会导致您的部分问题,并且可以通过在您的 href 前面加上 / 来解决,因此href="/webpage.css". / 将导致浏览器始终从您的域的根请求,因此无论您在哪个页面上,它都会始终请求 www.example.com/webpage.css。如果您的 css 位于 DocumentRoot 中的某个文件夹中(我假设您在这里使用的是 Apache),您应该从文档根目录的开头提供文件的完整路径,因此可能类似于href="/css/webpage.css"

在评论中,迈克尔也是正确的,您可能有重写规则错误,因此请将该信息添加到您的问题中。

于 2013-03-28T18:03:57.777 回答