0

.html以外のファイルに対するユーザー権限があります0744。実際には、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;

注: デバッグ目的で通常の 0744 アクセス許可に設定した css ファイル。

ページを入力http://www.example.com/load.php?page=test.htmlすると、検索が読み込まれます。test.cssただし、への変更が に適用されていないため、css ファイルがキャッシュから使用されていると思われますtest.html。行を削除すると

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

背景が再び白くなると変更が反映されます。ただし、cssファイルをたとえばに移動しtest2.css、スタイル (つまり、異なる色) を変更して代わりにリンクすると、変更は驚くほど適用されません。新しい名前にリンクせずに移動test.cssするとtest2.css(ファイルを削除するのと同様)、css効果は適用されます! 同様に、Ichmod test.cssを 0000 にすると、スタイル シートが使用されます。また、自分のマシンでローカルに.css開いているため、ファイルが破損していないこともわかっています。test.html

私は最も霧を持っていないので、誰かが何が起こっているのか分かりますか.

以下のMurray McDonaldの回答に従って編集し、304: Not Modifiedステータスコードに関係する問題を突き止めました。ファイルが明らかに変更されているのに、なぜこれが返されるのですか?

4

2 に答える 2

1

このような不思議なことに出くわすたびに、「fiddler2」を使用して、ブラウザーとサーバーの間を行き来する HTTP プロトコルを盗聴します。これは、MSIE と Firefox で動作します。応答ヘッダー、要求本文、応答本文 (存在する場合) などの再ヘッダーを簡単に確認できます。

于 2012-01-11T13:16:02.813 に答える
0

私は自分の問題を理解しました (Murray からの多大なサポートはありましたが)。私は自分のフォルダをそのように設定しました

/
├── test
│   ├── test.html
│   └── test.css
├── load.php
└── test.css

と思いました

header("Location: http://www.example.com/" . $fileName);

正しいフォルダー内からページを起動しますが、ブラウザーに次のように入力しても

http://www.example.com/load.php?page=test/test.html

module.php、私が欲しいものではなく、test.css返品を検索するとき。さて、問題は、phpに作業ディレクトリを設定するように指示する方法です。/test.css/test/test.css

于 2012-01-11T14:08:14.940 に答える