【发布时间】:2020-02-12 06:06:33
【问题描述】:
我真的很难理解重写规则以及为什么我的不符合预期。
我有 2 条规则,基本上我需要实现的是,无论子目录如何,它都会获取我的漂亮 URL,然后重定向到特定文件夹。然后这将使用一个 ID,该 ID 在漂亮的 URL 中指定,然后在我的解决方案中点击相应的页面。
因此,此规则应该能够抓取漂亮 URL 之前的任何内容,然后从根目录重定向到文件夹 /gen1/。
<rule name="PokemonGen1Rule 1">
<match url="^gen1-[\w-]*[^?]*-pkmid([\d]+)\.html" ignoreCase="true" />
<action type="Redirect" url="^/gen1/{R:0}" />
</rule>
然后,此规则应在到达 gen1 文件夹时捕获 url,并使用包含在漂亮 url 中的 id,将其作为参数传递给 pokemon.aspx 页面。
<rule name="PokemonGen1Rule 2">
<match url="^gen1/gen1-[\w-]*[^?]*-pkmid([\d]+)\.html" ignoreCase="true" />
<action type="Rewrite" url="/gen1/pokemon.aspx?pkmid={R:1}"
appendQueryString="false" logRewrittenUrl="true" />
</rule>
它不起作用,但在我的大脑中我无法弄清楚什么是坏的。我尝试了各种不同的人字形组合,以及诸如此类的东西,但它不起作用。
任何建议将不胜感激。
【问题讨论】:
标签: c# .net url-rewriting