F3 更改 css 文件的相对 URi

F3 changes relative URi of css files

我是一个正在尝试 F3 的新手。我的示例应用程序基本上可以正常工作,但对 css 文件的引用发生更改,导致找不到。看起来像是 .htaccess 问题,但我似乎无法修复它。

我的 css 个文件指定为

<link rel="stylesheet" href="ui/css/base.css" type="text/css" />
<link rel="stylesheet" href="ui/css/theme.css" type="text/css" />
<link rel="stylesheet" href="lib/code.css" type="text/css" />

我的 .htaccess 文件看起来像

RewriteBase /blog/

RewriteCond %{REQUEST_URI} \.ini$
RewriteRule \.ini$ - [R=404]

RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

这是在 doc root 下的 /blog 中,/ui 和 /lib 是 /blog 中的目录

访问路由模板时,css 文件以某种方式被引用为 /blog/view/ui/css('view' 是路由名称) 我不明白为什么这个参考被改变了。你能帮忙吗?

这是因为您在相对地引用 CSS 文件。要么像下面这样加个“/”

<link rel="stylesheet" href="/lib/code.css" type="text/css" />

或者您使用 F3 的内部变量来确定基本路径,如果您的应用位于子目录中,这可能会更好。因此,您应该在模板中写入以下内容(至少如果您使用的是模板 class)

<link rel="stylesheet" href="{{@BASE}}/lib/code.css" type="text/css" />