尝试使用IIRF重写来排除css和js文件

时间:2011-08-10 22:59:13

标签: iis rewrite iirf

我正在尝试让IIRF正常工作,以便重写某些网址,但忽略.css.js个文件等文件。

我有以下网址:

/admin/
/admin/user/
/admin/user/view-details/1
/admin/user/view-details/1?edit

哪一切都有效,但我似乎无法让它发挥作用:

/admin/_assets/css/admin.css

我的.ini文件如下所示:

RewriteRule /admin/([^/]+)/([^/]+)/([^/]+)\?edit$ /admin/index.php?edit&action=$1&sub-action=$2&id=$3 [L,I,QSA]
RewriteRule /admin/([^/]+)/([^/]+)/([^/]+)$ /admin/index.php?edit&action=$1&sub-action=$2&id=$3 [L,I,QSA]
RewriteRule /admin/([^/]+)/$ /admin/index.php?action=$1 [L,I,QSA]
RewriteRule ^/admin/(.*)$ - [L]

我也试过了:

RewriteRule (.+\.)(php|jpg|png|jpeg|gif|ttf|sql|txt|htm|zip|css)$ - [L]

当我直接导航到css文件时,我尝试过的东西会给出一个空白文档,或者我得到:

HTTP Error 404.4 - Not Found
The resource you are looking for does not have a handler associated with it.

我对IIRF或IIS没有多少经验,所以我对下一步尝试的内容感到困惑。我在找错了地方吗?或者我犯了一个非常基本的错误?

由于

2 个答案:

答案 0 :(得分:1)

调试iirf的提示:使用StatusUrl首先检查问题。

答案 1 :(得分:0)

我设法通过添加:

来解决这个问题
RewriteRule /admin/_assets/(.+)$ /admin/_assets/$1 [L,I,QSA]

到我文件的顶部。我仍然不确定为什么没有记录任何内容,但这可以根据我的需要修复它。