php - 使用 PHP 加载 html 页面禁止任何尝试使用最新的 css 文件

标签 php html css suphp

0744 之外,我对我的 .html 文件拥有用户权限。它们实际上设置为 0700 所以为了解决这个问题,我设置了 suPHP,并使用 load.php 文件来访问和加载所有文件。有问题的文件是一个简单的 .html 文件,如下所示:

test.html (0700):

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="test.css" />
    </head>

    <body>
        <p> why is this not working?</p>
    </body>
</html>

test.css (0744):

body
{
    background-color:#bbcbde;
}    
p
{
    background-color:#bfc4de;
    color:'red' ;
    border:'solid black';
    font-size:35pt;
}

load.php (0744):

$page = $_GET['page'];
header("Location: http://www.example.com/" . $fileName);
exit;

注意:css文件我设置为正常的0744权限,方便调试。

如果我键入 http://www.example.com/load.php?page=test.html 页面加载找到。但是,我怀疑 css 文件是从缓存中使用的,因为对 test.css 的任何更改都没有应用于 test.html。如果我删除行

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

当背景再次变为白色时会反射(reflect)出变化。但是,如果我将 css 文件移动到,例如 test2.css,并更改样式(即不同的颜色)并改为链接到该样式,则更改会令人惊讶应用。如果我将 test.css 移动到 test2.css 而不链接到新名称(类似于删除文件),css 效果仍然应用!同样,如果我将 chmod test.css 设置为 0000,它仍然使用样式表。我还知道 .css 文件没有损坏,因为我在我的机器上本地打开了 test.html

有没有人知道发生了什么,因为我没有最模糊的东西。

EDIT 根据下面 Murray McDonald 的回答,我追查到问题与 304: Not Modified 状态代码有关。为什么在文件明显改变时返回这个?

最佳答案

每当我遇到像这样神秘的东西时,我都会使用“fiddler2”窃听在浏览器和服务器之间来回传输的 HTTP 协议(protocol)——它适用于 MSIE 和 Firefox。您可以轻松地看到 reuest header 响应 header 请求正文、响应正文(如果有)等。

关于php - 使用 PHP 加载 html 页面禁止任何尝试使用最新的 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8819656/

相关文章:

css - HTML img 行为 - 为什么 float 时没有边距?

php - Internet Explorer 中未显示 WordPress CSS alpha 值

php - 在一天中的某些时段从数据库中删除条目

php - 递归地应用 array_map(array_walk_recursive?)

javascript - Jquery 与 Django

html - 为什么 CSS 设计器使用显示 :block?

php - 如何在php数组中按规律推送元素

javascript - flask 倒计时

jQuery 悬停效果 : Having One Div Disappear And Another Div Appear

html - Bootstrap 4 嵌套响应表