2014-10-12 74 views
0

我有這個.htaccess文件:CSS不加載2`/`在url

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] 
</IfModule> 

而在我的index.php,我有這樣的:

<!DOCTYPE HTML> 
<?php 
include "php/config.php"; 
include "php/RemoteAddress.php"; 

$remoteAddress = new RemoteAddress(); 

$ip = $remoteAddress -> getIpAddress(); // The clients ip address; 
$tid = date("Y-m-d_H-i-s"); // A string representing the time 

$fir = "hjem"; 
$sec = ""; 

$tot = isset($_GET[ 'url' ]) ? $_GET[ 'url' ] : ""; 
$tot = str_replace("#", "", $tot); 
$split = explode("/", $tot); 
if(isset($split[0]) && $split[0] !== "") $fir = $split[0]; 
if(isset($split[1]) && $split[1] !== "") $sec = $split[1]; 

if($fir == "hjem") 
{ 
    $page = "home.php"; 
} 
else if($fir == "regler") 
{ 
    $page = "rules.php"; 
} 
else if($fir == "nyheter") 
{ 
    $page = "news.php"; 
} 
else if($fir == "om") 
{ 
    $page = "about.php"; 
} 
else if($fir == "kontakt") 
{ 
    $page = "contact.php"; 
} 
else 
{ 
    $page = "page_not_found.php"; 
} 

include 'php/content/header.php'; 
echo "\n".'  <div id="contents">'."\n"; 
include "php/content/".$page; 
echo "\n".'  </div>'; 
include 'php/content/footer.php'; 
?> 

而且問題如果我有網址localhost/hjem它的工作原理是完美的,但如果我有localhost/hjem/localhost/hjem/info瀏覽器不加載css文件。

你們能告訴我爲什麼嗎?我如何解決這個問題?

編輯:從瀏覽器

的源代碼:的

<!DOCTYPE HTML> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Nordbyen</title> 
    <link rel="stylesheet" href="css/style.css" type="text/css"> 
</head> 
<body> 
    <div id="header"> 
     <div> 
      <div class="logo"> 
       <a href="hjem"></a> 
      </div> 
      <ul id="navigation"> 
       <li class="active"> 
        <a href="hjem">Hjem</a> 
       </li> 
       <li> 
        <a href="regler">Regler</a> 
       </li> 
       <li> 
        <a href="nyheter">Nyheter</a> 
       </li> 
       <li> 
        <a href="om">Om</a> 
       </li> 
       <li> 
        <a href="kontakt">Kontakt</a> 
       </li> 
      </ul> 
     </div> 
    </div> 
    <div id="contents"> 

     <style> 
      table { 
       border-spacing: 0; 
       border-collapse: collapse; 
      } 
     </style> 
     <div id="tagline" class="clearfix"> 
      <h1>Nordbyen - Norsk Datafreak Forum</h1> 
      <div> 
       <p> 
        Jeg har startet på et nytt prosjekt, et norsk forum for forskjellige Java prosjekter. 
       </p> 
       <p> 
        Ideén bak dette er å skape et lite miljø for de norske som enten kan eller ønsker å lære <a href="http://no.wikipedia.org/wiki/Java_(programmeringsspr%C3%A5k)" target="_blank">Java</a> 
       </p> 
       <p> 
        Dette er bare startfasen, så jeg vet ikke hvordan dette vil bli, men håper på både en bra og inspirerende side samt mange aktive medlemmer 
       </p> 
      </div> 
      <div> 
       <p> 
        Han du tro på prosjektet og ønsker du å delta? Bli med å bygge opp og vedlikeholde prosjektet ved å kontakte ...: 
       </p> 
       <table> 
        <tr> 
         <td><p>Kontakt meg på:</p></td> 
         <td></td> 
        </tr> 
        <tr> 
         <td><p>Skype:</p></td> 
         <td><p>...</p></td> 
        </tr> 
        <tr> 
         <td><p>Facebook:</p></td> 
         <td><p>(<a href="https://www.facebook.com/..." target="_blank">...</a>)</p></td> 
        </tr> 
        <tr> 
         <td><p>Mail:</p></td> 
         <td><p>...</p></td> 
        </tr> 
       </table> 
      </div> 
     </div> 
    </div>   
    <div id="footer"> 
     <div class="clearfix"> 
      <p> 
       © 2014 .... All Rights Reserved. 
      </p> 
     </div> 
    </div> 
</body> 
</html> 
+0

發佈'php/content/header.php'或HTML輸出的內容。 – 2014-10-12 09:24:04

+0

來自瀏覽器的新增 – l0lkj 2014-10-12 09:26:51

回答

2

你的鏈接到你的CSS是 「CSS/style.css文件」。這是一個相對的網址。相對於什麼?對,它與瀏覽器地址欄中的網址相關。如果您訪問localhost/hjem,則前綴爲localhost/,您請求的頁面爲hjem。當您訪問localhost/hjem/時,則前綴爲localhost/hjem/。它試圖加載localhost/hjem/css/style.css,這顯然失敗了。

你有兩個選擇:

  • 使用絕對路徑。您可以使用/css/style.css。這將加載它相對於您的域的根,在這種情況下,localhost/css/style.css
  • 您可以使用base-html標籤,如下所示:<base href="/">mdn)。這將加載任何相對於基礎標籤的href元素的相對URL,因此加載localhost/css/style.css
+0

這解決了我的問題:) – l0lkj 2014-10-12 09:40:04

2

,而不是相對URL對CSS的嘗試絕對URL。 我認爲問題存在於相對地址。

這樣的:

<link rel="stylesheet" href="http://yoursite.com/PATH_TO_CSS_FILE" type="text/css"> 
+0

由於某種原因,這不起作用 – l0lkj 2014-10-12 09:40:31

+0

我可以問你,你把什麼放在href部分? – 2014-10-12 10:10:03

+0

我添加了/因此它變成了'/ css/style.css'。 – l0lkj 2014-10-12 10:16:59