我正在尝试创建一个重写规则,它可以捕获所有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}&lang={R:1}" />
</rule>
答案 0 :(得分:0)
您的问题在某些地方有点模糊,但会尝试猜测您的要求:
<rule name="DynamicFolder" stopProcessing="true">
<match url="^(?!(?:images|includes|admin))(.+?)/" />
<action type="Rewrite" url="/index.php?folder={R:1}" />
</rule>
答案 1 :(得分:0)
这可能正是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}&var2={R:2}&var3={R:3}&var4={R:4}" />
</rule>