我的网站上的联系页面设置如下;
contact.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/contact
时,无法识别CSS并且该页面不会打印任何我的div,而只会显示一些措辞内容。
所以,如果我有
<div id="userinfo">
User info
</div>
它只显示页面左侧的“用户信息”,而不识别div。
如何解决此问题?
答案 0 :(得分:1)
使用从/
开始的绝对网址:
<link rel="stylesheet" href="/webpage.css" />
答案 1 :(得分:1)
CSS中的href
是相对链接。因此,对于www.example.com/user,浏览器将在www.example.com/webpage.css上请求css文件,但是对于www.example.com/user/contact,它将要求www.example.com/ 用户强> /webpage.css
这可能会导致您的部分问题,并且可以通过在您的href之前加上/,href="/webpage.css"
来解决。 /将导致浏览器始终从您域的根目录请求,因此无论您使用哪个页面,它都将始终请求www.example.com/webpage.css。如果您的css位于DocumentRoot中的某个文件夹中(我假设您在此处使用Apache),那么您应该从doc根的开头提供该文件的完整路径,这可能类似于href="/css/webpage.css"
在评论中,Michael也是正确的,您可能会有重写规则错误,所以请将该信息添加到您的问题中。