2012-02-27 95 views
0

我试图创建一个重写规则,它捕获所有的www.domain.com/ dynamicfolder/(应该同时使用和不使用短划线)并将其重写到/ index .php?文件夹= 动态文件夹并且还允许其他参数。IIS 7.0重写捕捉异常动态文件夹的规则

事情是,应该有一些例外,其中重写规则不适用,请求实际上应该打开/查看实际文件夹。一些保留的文件夹,你可以调用它。应该忽略规则的文件夹示例:“图像”,“包含”和“管理员”。

我现在有一个重写规则,那种做的工作,但它只适用于具有2个字符的动态文件夹名称。新的规则不应该有任何限制,而且 - 要求很高,应该可以省去一个动态文件夹名称,并让剩余的重写url工作。 :-)

<rule name="Langrewrite" enabled="true"> 
    <match url="^([a-z]{2,2})/([_0-9a-zA-Z]+)\.html" /> 
    <conditions logicalGrouping="MatchAll" /> 
    <action type="Rewrite" url="/index.php?navItem={R:2}&amp;lang={R:1}" /> 
</rule> 

回答

0

你的问题是在地方有点模糊,但会尝试猜测您的要求:

<rule name="DynamicFolder" stopProcessing="true"> 
    <match url="^(?!(?:images|includes|admin))(.+?)/" /> 
    <action type="Rewrite" url="/index.php?folder={R:1}" /> 
</rule> 
0

这可能正是托梅克说来,但这是它是如何结束:

  <rule name="Dynamic Folders" stopProcessing="true"> 
       <match url="^(?!errorPages/|files/|gfx/)([a-zA-Z-]*)/?([a-zA-Z-]*)/([_0-9a-zA-Z]*)(\.html|\.htm)?" /> 
       <action type="Rewrite" url="/index.php?var1={R:1}&amp;var2={R:2}&amp;var3={R:3}&amp;var4={R:4}" /> 
      </rule>