【问题标题】:Can't load css, js and image with htaccess无法使用 htaccess 加载 css、js 和图像
【发布时间】:2015-01-22 22:41:13
【问题描述】:

我在使用 .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] 

在这种情况下,如果源代码&lt;link href="css/styles.css" rel="stylesheet" /&gt; 无法在 artikel php(标签 h1)中加载 css 文件,但如果我更改源代码 &lt;link href="../../css/styles.css" rel="stylesheet" /&gt; 它运行良好.. 那么,我该如何编辑文件 htacess不更改源代码css??谢谢解答

【问题讨论】:

  • 谢谢你的建议..第一次,我必须了解PDO

标签: javascript php html css .htaccess


【解决方案1】:

这是因为您更改了相对 URI 基数。浏览器加载时:

/index.php?page=something

基础是/。但是当浏览器加载时:

/artikel/123/abcd

基础是/artikel/123/。当您使用相对 URL 时,就会发生这种情况。浏览器不知道您的文件实际上在其他地方,或者 URL 将被重写。所以你需要告诉浏览器base是什么。

尝试在页面标题中添加此内容:

<base href="/" />

【讨论】:

    【解决方案2】:

    您可以在 .htaccess 中定义基础

    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /name of the path base
    

    也阅读这篇文章my htaccess file doesn't work to load css

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 1970-01-01
      • 2020-10-11
      • 2017-02-15
      • 2017-10-27
      • 1970-01-01
      相关资源
      最近更新 更多