我(不幸的是)使用IIS,我正在进行重写,创建友好的配置文件URL。我提出了一个可行的解决方案,但是想在用户名中允许使用句点。因此,重写的网址格式为profile/username
但我显然不想重定向包含 .asp 的任何路径,因此脚本不会被重新路由。他们屏蔽的实际网址是profile/iviator.asp?p=username
。很简单吧?是的,好的,正则表达式引擎IIS'重写模块依赖的是假的。
答案 0 :(得分:0)
编辑经过一些研究后,我发现IIS不使用.NET正则表达式引擎,而是使用VC ++运行时中的那个,这似乎不允许负面的外观。
但是,您可以为您的模式添加适合您的问题的条件(从this post中学习)。这样的事情可能会起到作用:
<rule name="RewriteNonAsp" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{URL}" pattern="^.*?\.asp(?:\?|$)" negate="true" />
</conditions>
<action type="Rewrite" url="<path>" appendQueryString="false" />
</rule>