Regex Microsoft IIS URL重写-正则表达式

Regex Microsoft IIS URL重写-正则表达式,regex,iis,coldfusion,rewrite,Regex,Iis,Coldfusion,Rewrite,我目前正在使用我的IIS服务器,我安装了IIS重写模块 我目前有一个规则,允许我的所有coldfusion模板都可以很容易地解析 它生成以下模式 ^([^/]+)/?$ 其中包括对下一页上任何模板的任何请求 index.cfm?action={R:1} 此规则只需将任何请求解析到我的网站,并使其直接转到我的index.cfm页面 我想了解的是如何获得以下信息 ^/css/-然后是要像处理任何其他页面请求一样处理的任何脚本或子文件夹 ^/js/-然后处理存储在我的服务器上的任何js文件 ^/a

我目前正在使用我的IIS服务器,我安装了IIS重写模块

我目前有一个规则,允许我的所有coldfusion模板都可以很容易地解析

它生成以下模式

^([^/]+)/?$
其中包括对下一页上任何模板的任何请求

index.cfm?action={R:1}
此规则只需将任何请求解析到我的网站,并使其直接转到我的index.cfm页面

我想了解的是如何获得以下信息

  • ^/css/
    -然后是要像处理任何其他页面请求一样处理的任何脚本或子文件夹
  • ^/js/
    -然后处理存储在我的服务器上的任何js文件
  • ^/assets/
    -将此文件夹中的任何文件作为普通文件处理
  • 我以前从未使用过这个模块,但我正在努力找出如何处理js和css等普通文件以及它们各自的目录


    我在编写规则方面没有问题,因此每个规则都以文件夹名称为前缀,但我一生都无法确定从何处获取有关此内容的任何信息。

    只要在捕获所有内容的规则之前指定一条规则,您应该能够使用
    stoppprocessing
    属性来防止模块对请求执行任何操作。不需要指定操作。例如:

    <rule name="CSS files" stopProcessing="true">
       <match url="^/css/" />
    </rule>
    

    只要在捕获所有内容的规则之前指定一条规则,就应该能够使用
    停止处理属性来阻止模块对请求执行任何操作。不需要指定操作。例如:

    <rule name="CSS files" stopProcessing="true">
       <match url="^/css/" />
    </rule>
    

    这里是所有静态文件的

    <rule name="Static Files" stopProcessing="true">
        <match url="^(.*)$" />
        <conditions logicalGrouping="MatchAll">
        <add input="{SCRIPT_NAME}" pattern="\.(bmp|gif|jpe?g|png|css|js|txt|pdf|doc|xls)$" ignoreCase="true" />
        </conditions>
        <action type="None" />
    </rule>
    
    
    
    更新:
    对不起,我没有注意到你要的是文件夹。但我会保留答案,以防其他人想知道。

    这是所有静态文件的答案

    <rule name="Static Files" stopProcessing="true">
        <match url="^(.*)$" />
        <conditions logicalGrouping="MatchAll">
        <add input="{SCRIPT_NAME}" pattern="\.(bmp|gif|jpe?g|png|css|js|txt|pdf|doc|xls)$" ignoreCase="true" />
        </conditions>
        <action type="None" />
    </rule>
    
    
    
    更新:
    对不起,我没有注意到你要的是文件夹。但我会保留答案,以防其他人想知道。

    我认为上述条件模式应该忽略不计,因为我们想跳过BMP文件,而不管扩展名是什么。我同意上述观点。忽略资产的大小写true。除此之外,这是一条伟大的规则。谢谢。我相信上面的条件模式应该忽略不计,因为我们想跳过BMP文件,而不管扩展名是什么。我同意上面的说法。忽略资产的大小写true。除此之外,这是一条伟大的规则。谢谢