Dem*_*tic 0 asp.net iis iis-7 url-rewriting
我需要一些帮助来在IIS7中编写两个URL重写规则,我已经尝试了最近3个小时,但均未成功。
基本上,我有以下两个规则:
<rule name="Resize Images - Game Thumbnails - Static" stopProcessing="true">
    <match url="^images/c/games/(.+)x(.+)/(.+)$" />
    <conditions logicalGrouping="MatchAny">
        <add input="\mycms\games\images\thumbs\220x150\{R:3}" matchType="IsFile" negate="true" />
    </conditions>
    <action type="Rewrite" url="/mycms/games/images/thumbs/{R:1}x{R:2}/{R:3}" />
</rule>
<rule name="Resize Images - Game Thumbnails - Dynamic" stopProcessing="true">
    <match url="^images/c/games/(.+)x(.+)/(.+)$" />
    <conditions logicalGrouping="MatchAny">
        <add input="\mycms\games\images\thumbs\{R:1}x{R:2}\{R:3}" matchType="IsFile" negate="true" />
    </conditions>
    <action type="Rewrite" url="/controls/makeThumb.aspx?folder=games&image={R:3}&w={R:1}&h={R:2}" />
</rule>
Run Code Online (Sandbox Code Playgroud)
如果单独使用这两个规则,则它们都起作用。
例如,如果我只放置静态规则,并且图像存在,那么它将返回图像。
如果我只留下动态规则,并且图像不存在,则创建它。
但是规则为什么不一起起作用?
好吧,我发现了问题,基本上这两个规则都起作用:
        <rule name="Resize Images - Game Thumbnails - Static" stopProcessing="true">
            <match url="^images/c/games/(.+)x(.+)/(.+)$" />
            <conditions logicalGrouping="MatchAny">
                <add input="{APPL_PHYSICAL_PATH}mycms\games\images\thumbs\{R:1}x{R:2}\{R:3}" matchType="IsFile" />
            </conditions>
            <action type="Rewrite" url="/mycms/games/images/thumbs/{R:1}x{R:2}/{R:3}" />
        </rule>
        <rule name="Resize Images - Game Thumbnails - Dynamic" stopProcessing="true">
            <match url="^images/c/games/(.+)x(.+)/(.+)$" />
            <conditions logicalGrouping="MatchAny">
                <add input="\mycms\games\images\thumbs\{R:1}x{R:2}\{R:3}" matchType="IsFile" negate="true" />
            </conditions>
            <action type="Rewrite" url="/controls/makeThumb.aspx?folder=games&image={R:3}&w={R:1}&h={R:2}" />
        </rule>
Run Code Online (Sandbox Code Playgroud)
但!!!!这是一个很大的问题,但是,如果删除该图像(出于测试目的或其他目的),则该规则会以某种方式缓存,并且出于某些奇怪的原因,该动态规则将不会执行。强制其执行的唯一方法是回收应用程序池。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           3610 次  |  
        
|   最近记录:  |