我正在尝试使用PHP路由类在HTML上应用CSS,但它不起作用......
我希望包含 H1红色风格,这里是代码......
的.htaccess
RewriteEngine On
RewriteRule ^(.*)$ index.php?p=/$1 [QSA,L]
的index.php
<?php
class R
{
private $r = [];
function a($r, callable $c)
{
$this->r[$r] = $c;
}
function e() {
$p = $_GET['p'];
$k = isset($this->r[$p]) ? $this->r[$p] : $this->r[''];
$k();
}
}
$router = new R;
$router->a('/', function(){
include "page/home.php";
});
$router->e();
?>
home.php
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Colorized.</h1>
</body>
</html>
的style.css
h1 {
color: red;
}
如何使用HTML中添加的任何 CSS / JS 文件来完成此工作?
答案 0 :(得分:0)
看起来你的规则是将css和js文件重写为index.php,这就是为什么它们没有加载。您需要从规则中排除这些文件。
您可以使用:
RewriteEngine on
RewriteRule ^((?!\.js|\.css).*)$ /index.php?p=/$1 [L]
要修复相对的uris,请在您网页的主题部分添加以下内容
<base href="/">