HTACCESS行阻止加载CSS

时间:2017-09-13 14:48:13

标签: css .htaccess

快速提问,我正在使用这一行:

RewriteRule ^([^/]+)/? index.php?url=$1 [L,QSA]

我从另一篇文章中获取,现在我的CSS文件不会显示任何内容。

这是结构:

.
+-- .htaccess
+-- assets
|   +-- style.css
|   +-- images
+-- index.php

还有其他文件,但它们无关紧要。

1 个答案:

答案 0 :(得分:2)

你遗漏了两件事:

  1. 正则表达式模式中没有$锚点
  2. RewriteCond`跳过现有文件和目录
  3. 用以下代码替换您的代码:

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .+ index.php?url=$0 [L,QSA]
    

    此外,如果您使用css / js / images的相对路径,则可以在页面的<head>部分的HTML下面添加:

    <base href="/" />
    

    以便从该基本网址解析每个相对网址,而不是从当前网页的网址解析。