PHP动态页面css错误

PHP动态页面css错误,php,html,css,Php,Html,Css,我有一个动态php网页 localhost/ctd/index.php 除了我在上面加了一个正斜杠(如下所示)之外,所有的工作都很好: localhost/ctd/index.php/ css没有加载 这是css错误还是PHP错误 index.php的完整代码 <?php define('pageaccess', TRUE); $action = $_GET['p']; include "views/header.php"; if($action=='student') {

我有一个动态php网页

localhost/ctd/index.php
除了我在上面加了一个正斜杠(如下所示)之外,所有的工作都很好:

localhost/ctd/index.php/
css没有加载

这是css错误还是PHP错误

index.php的完整代码

<?php
define('pageaccess', TRUE); 
$action = $_GET['p'];
include "views/header.php";
if($action=='student')
{
    include "views/student.php";
}else if($action=='college'){       
    include "views/college.php";
}else if($action==''){      
    include "views/home.php";
}else{
    include "views/404.php";
}   
include "views/footer.php";
?>

CSS链接

<link rel="stylesheet" type="text/css" href="css/ctdu_style.css" />

给我指出正确的方向


谢谢

不久前我自己也遇到了这个问题,但我的问题更多的是我使用.htaccess重写url,当在url末尾添加
/
时,会导致css和其他包含的文件返回404 Not found错误

原因是如果最后有一个
/
,它会将
index.php
解释为一个目录而不是一个文件

对我有效并且可能对您也有效的修复方法是,例如,在所有包含的文件前面加上
/

<link rel="stylesheet" type="text/css" href="css/ctdu_style.css" />

将成为

<link rel="stylesheet" type="text/css" href="/css/ctdu_style.css" />

问题在于您的链接是相对的

例如,如果您有如下链接:

<link rel="stylesheet" href="css.css">

我在很多支持php的web应用程序中看到过这种问题。我相信我们已经对它进行了修复。这很可能是由CSS包含中的相对路径问题引起的,但是如果没有看到您的代码,我们无法确定。您可以发布相关的代码片段吗?如果您使用css的相对路径,它应该在“localhost/ctd/index.php/”目录中搜索该文件。我认为目录不存在;)您可以使用篡改数据来显示加载了哪些文件(),否则请使用css的绝对路径!显示加载css的
标记,并检查服务器的访问/错误日志,查看是否正在请求css文件,以及请求的url是什么(如果是)。
<?php
$request_uri = preg_replace('/\?.*/', '', $_SERVER['REQUEST_URI']);
if ($request_uri !== $_SERVER['SCRIPT_NAME']) {
    header('Location: ' . $_SERVER['SCRIPT_NAME']);
    exit;
}