2014-11-25 28 views
0

我在使用.htaccess文件時遇到問題。 CSS,JS和圖像無法加載,如果我使用.htaccess文件。無法使用htaccess加載css,js和圖像

這是我的結構簡單的網頁。 我在根目錄下有一些文件和文件夾:

1 css文件夾(包括style.css)。

@charset "utf-8"; 
/* CSS Document */ 

h1 { 
    color:#F00; 
} 

1 index.php文件

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Clean URL</title> 
<link href="css/styles.css" rel="stylesheet" /> 
</head> 
<body> 
<?php include "bukafile.php"; ?> 
</body> 
</head> 

1 bukafile.php文件

<?php 
switch ($_GET['page']){ 
case '' : if(!file_exists ("home.php")) 
die ("File Not Found"); 
include "home.php"; 
break; 
case 'artikel' : if(!file_exists ("artikel.php")) 
die ("File Not Found"); 
include "artikel.php"; 
break; 
default: break; 
} 
?> 

1 home.php文件

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Clean URL</title> 
</head> 
<body> 
<?php 
$sql=mysql_query("SELECT * FROM artikel order by id_artikel"); 
while ($r=mysql_fetch_array($sql)) { 
$judul2 = str_replace(" ","-",$r[judul]); 
?> 

<p><?php echo"Judul : $r[judul]"; ?></p> 
<p><?php echo"<a href='artikel/$r[id_artikel]/$judul2'>detail artikel</a>"; ?></p> 

<?php 
} 
?> 
</body> 
</head> 

1 artikel.php文件

<!DOCTYPE HTML> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <title>Clean URL</title> 
    </head> 
    <body> 
<h1>Percobaan</h1> 
<?php 


$detail=mysql_query("SELECT * FROM artikel WHERE id_artikel='$_GET[id]'"); 
$r = mysql_fetch_array($detail); 

echo "<p>$r[judul]</p>"; 
echo "<p>$r[content]</p>"; 

?> 
</body> 
    </head> 

1 .htaccess文件

RewriteEngine on 

RewriteRule ^artikel/([0-9]+)/([A-Za-z0-9-]+)/?$ index.php?page=artikel&id=$1 [NC,L] 

在這種情況下,CSS文件不能在ARTIKEL PHP(標籤H1)如果源代碼<link href="css/styles.css" rel="stylesheet" />但如果我改變源代碼<link href="../../css/styles.css" rel="stylesheet" />它的運行以及加載..那麼,如何在不更改源代碼css的情況下編輯文件htacess?謝謝你的回答

+0

感謝對你的建議..第一次,我必須瞭解PDO – yogaboyz88 2014-12-10 03:55:01

回答

1

這是因爲你已經改變了你的相對URI基地。當瀏覽器加載:

/index.php?page=something 

基地/。但是,當瀏覽器加載:

/artikel/123/abcd 

基地/artikel/123/。當你使用相對URL時會發生這種情況。瀏覽器不知道你的文件實際上是在別的地方,或者URL將被重寫。所以你需要告訴瀏覽器基礎是什麼。

嘗試在網頁的標題添加此:

<base href="/" /> 
+0

感謝對你的答案..它的作品對我來說 – yogaboyz88 2014-12-10 03:55:31