0

我(不幸的是)正在使用 IIS,并且我正在重写以创建友好的配置文件 URL。我想出了一个可行的解决方案,但想在用户名中允许句点。因此,重写的 URL 格式是profile/username,但我显然不想重定向任何包含.asp的路径,因此脚本不会被重新路由。他们屏蔽的实际 URL 是profile/iviator.asp?p=username. 很简单,对吧?是的,好吧,IIS 的重写模块所依赖的正则表达式引擎是假的。

4

1 回答 1

0

编辑:经过一番研究,我现在发现 IIS 不使用 .NET 正则表达式引擎,而是使用 VC++ 运行时中的引擎,这似乎不允许负面的后视。

但是,您可以为您的模式添加适合您的问题的条件(从这篇文章中学习)。像这样的东西可能会奏效:

<rule name="RewriteNonAsp" stopProcessing="true">
  <match url="^(.*)$" />
  <conditions>
    <add input="{URL}" pattern="^.*?\.asp(?:\?|$)" negate="true" />
  </conditions>
  <action type="Rewrite" url="<path>" appendQueryString="false" />
</rule>
于 2012-04-17T17:35:09.057 回答