我在使用 .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]
在这种情况下,如果源代码<link href="css/styles.css" rel="stylesheet" />
,则css文件无法在artikel php(标签h1)中加载但如果我更改源代码<link href="../../css/styles.css" rel="stylesheet" />
它运行良好.. 那么,如何在不更改源代码 css 的情况下编辑 htacess 文件?谢谢您的回答
最佳答案
这是因为您更改了相对 URI 基。当浏览器加载时:
/index.php?page=something
基是/
。但是当浏览器加载时:
/artikel/123/abcd
基础是/artikel/123/
。这就是相对 URL 时发生的情况。浏览器不知道您的文件实际上在其他地方,也不知道 URL 将被重写。所以你需要告诉浏览器基数是什么。
尝试将其添加到页面标题中:
<base href="/" />
关于javascript - 无法使用 htaccess 加载 css、js 和图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27118052/