2

これが私のルートフォルダーです:

index.php
stylesheets(folder) --->main.css
includes(folder)    --->header.php
folder1  (folder)           --->page1.php

「header.php」のリンク部分は次のとおりです(includesフォルダーから):

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

これは index.php の一部です:

<?php include "includes/header.php"; ?>

これは page1.php の一部です (folder1 から):

<?php include "../includes/header.php"; ?>

問題は、index.php を開くとすべてが正常であることです。/folder1/page1.php については、スタイルは表示されませんが、header.php の内容が表示されます。つまり、main.css を持ってきません。おそらく、link href="stylesheets/main.css" rel="stylesheet" type="text/css"Any help?

4

4 に答える 4

4

複数のレベルからファイルにアクセスするため、絶対パスを使用する必要があります。

したがって、href="http://domain.com/stylesheets/main.css"またはhref="/stylesheets/main.css"

ただし、これはドメインの最上位にある場合にのみ機能します (2 つ目、および私が推奨するもの)。

于 2012-05-02T20:12:24.197 に答える
2

堅牢なソリューションは、絶対リンクを使用することです。これを行う便利な方法は、中央構成ファイルを使用することです。たとえば、次config.phpを含むファイルを作成します

<?php

    define('SITE_ROOT', 'http://www.yourdomain.com/');

?>

そして、このファイルを各 PHP ファイルに含めます ( require_once('config.php');)。それからあなたは書くことができます

<link href="<?php echo SITE_ROOT; ?>stylesheets/main.css" rel="stylesheet" type="text/css" />

これは、参照しようとしている URL に常に解決されます。サイトのドメインが変更された場合、中央構成により簡単に変更できます。

于 2012-05-02T20:19:57.917 に答える
0

あなたのフォルダ構造について混乱していますが、正しく理解できました。

試す

href="../stylesheets/main.css"
于 2012-05-02T20:10:39.553 に答える
0

単純な方法が最善の方法である場合もあります。絶対パスを使用してください。

于 2012-05-02T20:23:14.997 に答える