【问题标题】:Problem loading CSS styles with a PHP static files loader使用 PHP 静态文件加载器加载 CSS 样式时出现问题
【发布时间】:2011-11-25 08:41:28
【问题描述】:

我正好有the same problem treated in this topic。那就是:我在一些文件夹中有一些静态文件,我希望只有一些用户可以看到这些内容。用户来自以前的登录。

为此,我正在尝试实施本主题中给出的第一个解决方案,即:

在“静态文件”下创建以下 .htaccess 文件:

Options +FollowSymLinks  
RewriteEngine on  
RewriteRule ^(.*)$ ../authorize.php?file=$1 [NC]

然后在authorize.php中...

if (isLoggedInUser()) readfile('static-files/'.$_REQUEST['file']);
else echo 'denied';

这个 authorize.php 文件被大大简化了,但是你明白了 idea.kquote

因此,将任何请求重定向到 authorize.php 文件,该文件检查用户是否已登录,如果已登录,则提供内容。

这与 html、js 和图像完美配合......但我不知道为什么没有显示 css 样式。这很奇怪,因为我可以直接使用浏览器访问该 css 文件,但是当从 html 调用它们时它不起作用。当然,如果我尝试在没有 authorize.php 的情况下工作,样式会照常显示。

我错过了什么?

谢谢,

【问题讨论】:

  • 当您的脚本吐出 css 时,您是否发出 Content-type: text/css?外部 css 文件也需要提供适当的 mime 类型。
  • 谢谢@Marc B 这正是问题所在。

标签: php css security apache .htaccess


【解决方案1】:

您可能没有发送正确的content-type 标头。这使得样式表在 Firefox 中失败。

做一个

header("Content-type: text/css");

每当请求 CSS 样式表时。

【讨论】:

  • 谢谢@Pekka,这正是问题所在。解决了,现在。但不仅在 Firefox 中,因为我也在使用 Opera 和 Chrome 进行测试。
  • 几年前,我不记得使用 PHP 和 Internet Explorer 4 或 5 生成的 CSS 有问题。尝试打开压缩后的 CSS 文件时浏览器崩溃。
猜你喜欢
  • 1970-01-01
  • 2020-12-09
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 2016-03-06
相关资源
最近更新 更多