0

私のサイトには、次のように設定された連絡先ページがあります。

contact.php

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="webpage.css">
        <?php include 'header.php'; ?>
    </head>
...rest of content

最近、いくつかの mod_rewrite の変更を加えた htaccess ページをセットアップしました。

だから今、私は次のようなURLを持っています

www.example.com/user

www.example.com/user/contact

CSSを見るとwww.example.com/user/contact、認識されず、ページに div が印刷されず、単語のコンテンツだけが印刷されます。

だから私が持っているなら

<div id="userinfo">
    User info
</div>

divが認識されずに、ページの左側に「ユーザー情報」が表示されるだけです。

この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

CSSのhrefは相対リンクです。したがって、www.example.com/user の場合、ブラウザーは www.example.com/webpage.css の css ファイルを要求しますが、www.example.com/user/contact の場合、www.example.com / user /webpageを要求します。 .css

これは問題の一部を引き起こす可能性があり、href の前に / を付けることで修正できますhref="/webpage.css"。/ を使用すると、ブラウザは常にドメインのルートからリクエストするようになるため、現在のページに関係なく、常に www.example.com/webpage.css をリクエストします。css が DocumentRoot 内のフォルダー内にある場合 (ここでは Apache を使用していると仮定します)、ドキュメント ルートの先頭からファイルへのフル パスを指定する必要があります。href="/css/webpage.css"

コメントでは、Michael は、書き換えルール エラーがある可能性があることも正しいので、その情報を質問に追加してください。

于 2013-03-28T18:03:57.777 に答える
1

から始まる絶対 URL を使用/:

<link rel="stylesheet" href="/webpage.css" />
于 2013-03-28T18:03:03.277 に答える