2

次のような header.php という名前のヘッダー ファイルがあります。

includesというフォルダー内にあるため、パスはincludes/header.phpです

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 
<html dir="ltr" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
        <title>***</title>
        <link rel='stylesheet' href='../_layout/scripts/jquery.fullcalendar/fullcalendar.css' type='text/css' media='screen' />
        <link rel='stylesheet' href='../_layout/scripts/jquery.fullcalendar/fullcalendar.print.css' type='text/css' media='print' />
        <!-- Styles -->
        <link rel='stylesheet' href='style.css' type='text/css' media='all' />
        <!--[if IE]>

            <link rel='stylesheet' href='../_layout/IE.css' type='text/css' media='all' />      

        <![endif]-->
        <!-- Fonts -->
        <link href='http://fonts.googleapis.com/css?family=Droid+Sans:regular,bold|PT+Sans+Narrow:regular,bold|Droid+Serif:i&amp;v1' rel='stylesheet' type='text/css' />

            <script type='text/javascript' src='../../../ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min97e1.js?ver=1.7'></script>
        <!-- WYSISYG Editor -->
        <script type='text/javascript' src='../_layout/scripts/nicEdit/nicEdit.js'></script>

        <!-- Forms Elemets --> 
        <script type='text/javascript' src='../_layout/scripts/jquery.uniform/jquery.uniform.min.js'></script>
        <link rel='stylesheet' href='../_layout/scripts/jquery.uniform/uniform.default.css' type='text/css' media='screen' />

        <!-- Scripts -->
        <script type='text/javascript' src='../_layout/custom.js'></script>


    </head>  
<body>

        <div id="layout">
            <div id="header-wrapper">
                <div id="header">
                    <div id="user-wrapper" class="fixed">
                        <div class="color-scheme">
                            </div>
                            <div class='user'>
                        <?php
                        if($_SESSION['user'] != 'NULL')
                        {
                        ?>
                        <img src="../_content/user-img.png" alt="" />
                        <span>Welcome <a href="#">Admin <?PHP echo $_SESSION['user']; ?></a></span>
                        <span class="logout"><a href="#">Logout</a></span>
                        <?php
                        }
            ?>


                    </div>
                     </div>
                    <div id="launcher-wrapper" class="fixed"><img src="../_layout/images/NGBU Logo.png" width="68" height="81" alt="logo" style="margin-left:35px;" /> <img src="../_content/NGBU_logo.png" width="777" height="57" alt="logo" longdesc="http://index.php" style="margin-top: 25px; float: left; margin-left: 25px;"/></div>


            </div>
            </div>

Index.php の先頭でこのファイルを呼び出していますが、localhost でテストしていたときにレンダリングされているにもかかわらず、何らかの理由でホストされたサーバーからレンダリングされませんか?

フォルダー admin 内にある私の index.php は次のようになります。

<?PHP
session_start();
ob_start();
$_SESSION['user'] = "NULL";
$_SESSION['password'] = "";
$_SESSION['error'] = 0;
include_once("../includes/header.php");
if(!$_SESSION['error'])
$_SESSION['error'] = "Please Login to Continue";
?>
<?PHP
if(isset($_REQUEST['check']))
{
    if(!$_REQUEST['User'] == "")
    {
        if(!$_REQUEST['Password'] == "")
        {
            $_SESSION['user'] = $_REQUEST['User'];
            $_SESSION['password'] = $_REQUEST['Password'];
            unset($_SESSION['error']);
            header('Location: checklogin.php'); 
        }
        else
        {
        $_SESSION['error'] = "<FONT color='#FF0000'>Both fields are required</FONT>";
        }
    }
    else
    {
    $_SESSION['error'] = "<FONT color='#FF0000'>Both fields are required</FONT>";
    }
}
?>
<DIV class="page fixed">
<DIV id="sidebar" style="height:400px; width:250px; margin-left:5px;"> </DIV>
<DIV id="content">
                <?PHP
echo "<h1 style='margin-left:150px;' >".$_SESSION['error']."</h1>";

?>
                <FORM action="index.php" method="post" name="loginfrm"  class="form-elements-inputs" style="margin-left:150px;width:90px;">
                <INPUT class="normal" type="text" name="User" value="User Name" /><BR />
                <INPUT class="normal" type="password" name="Password" value="Password"  /><BR />
                <INPUT type="hidden" name="check" value="login" />
                <INPUT type="submit" value="Login" class="button-orange" style="width:100px; margin:auto;"  />  
                    </FORM>
                </DIV>
    </DIV>
    </div>
    </BODY>
</HTML>

style.css ファイルは、includes フォルダーの header.php のすぐ隣にあるのに、なぜ適用されないのですか?

mozilla で firebug をチェックしているときに、次の出力が表示されます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>***</title>
<link type="text/css" href="style.css" rel="stylesheet">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /style.css was not found on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
<hr>
<address>Apache Server at www.***.com Port 80</address>
</body></html>
</link>
<link media="screen" type="text/css" href="scripts/jquery.fullcalendar/fullcalendar.css" rel="stylesheet">
<link media="print" type="text/css" href="scripts/jquery.fullcalendar/fullcalendar.print.css" rel="stylesheet">
<link media="screen" type="text/css" href="scripts/jquery.uniform/uniform.default.css" rel="stylesheet">
<link type="text/css" rel="stylesheet" href="http://fonts.googleapis.com/css?family=Droid+Sans:regular,bold|PT+Sans+Narrow:regular,bold|Droid+Serif:i&v1">
<script src="../../../ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min97e1.js?ver=1.7" type="text/javascript">
<script src="../_layout/scripts/nicEdit/nicEdit.js" type="text/javascript">
<script src="../_layout/scripts/jquery.uniform/jquery.uniform.min.js" type="text/javascript">
<script src="../_layout/custom.js" type="text/javascript">
</head>
<body>
</html>

パスが正しいのに 404 not found エラーが発生するのはなぜですか?

助けてください

4

3 に答える 3

1

あなたが含めてい../include/header.phpて、style.cssもそこにあります../include/style.css。したがって、 css への同じ相対パスまたは絶対パスを使用する必要があります/include/style.css

于 2012-11-28T11:25:04.627 に答える
0

たぶん、最初にheader.php絶対パスでテストする方が良いでしょう。また、スクリプトとスタイルシートのパスは、ヘッダーではなくindex.phpを基準にする必要があります。(英語が下手でごめんなさい)

于 2012-11-28T11:36:52.637 に答える
0

CSS ファイルへのリンクは、表示しているページの URL に対して相対的である必要があります。

たとえば、 でページを表示する場合はexample.com、CSS ファイルを で参照する必要がありますexample.com/includes/style.css

于 2012-11-28T11:27:09.337 に答える