不要重写静态css / js / img文件

时间:2012-11-17 18:54:15

标签: .htaccess mod-rewrite

我正在尝试让我的htaccess文件不要重写我的静态文件(js / css / images)。

这是我目前的htaccess文件:

RewriteEngine on
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule    !\.(jpg|css|js|gif|png)$    public/    [L]
RewriteRule !\.(jpg|css|js|gif|png)$ public/index.php?url=$1

如何重写它?

2 个答案:

答案 0 :(得分:11)

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^.*\.(jpg|css|js|gif|png)$ [NC]
RewriteRule ^(.*)$ public/index.php?url=$1

对未以列出的扩展名结尾的现有文件(不区分大小写匹配)的所有请求都被重写为public/index.php,将当前URL作为url= GET参数

传递

答案 1 :(得分:6)

这仅适用于它下方的一行。因此,如果您有许多RewriteRules,它可以帮助使用这样的东西:

    RewriteEngine on

    RewriteRule ^(.*?)\.(php|css|js|jpg|jpeg|png|pdf)$ - [L]
    RewriteRule ^(.+)/(.+)/?$ index.php?page=$1&subpage=$2 [L]
    RewriteRule ^(.+)$ index.php?page=$1 [L]