【问题标题】:IIS 7.0 Rewrite rule for catching dynamic folders with exceptionsIIS 7.0 重写规则,用于捕获具有异常的动态文件夹
【发布时间】:2014-05-22 22:29:04
【问题描述】:

我正在尝试创建一个重写规则,该规则捕获所有 www.domain.com/dynamicfolder/ (应该可以使用和不使用破折号)并将其重写为 /index.php?folder= 动态文件夹,还允许使用其他参数。

问题是,应该有一些例外,重写规则不应该应用,请求实际上应该在真实文件夹中打开/查看。一些保留的文件夹,你可以调用它。应忽略规则的文件夹示例:“images”、“includes”和“admin”。

我现在有一个重写规则,这样就可以完成这项工作,但它只适用于恰好包含 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>

【问题讨论】:

    标签: iis-7 url-rewrite-module


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      这可能正是 Tomek 所说的,但结果却是这样:

                  <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> 
      

      【讨论】:

        猜你喜欢
        • 2023-03-26
        • 1970-01-01
        • 2014-04-08
        • 1970-01-01
        • 2020-02-17
        • 2012-10-13
        • 2012-08-15
        • 2018-09-18
        • 1970-01-01
        相关资源
        最近更新 更多