gpt4 book ai didi

asp.net - 使用 IIS7 进行 URL 重写

转载 作者:行者123 更新时间:2023-12-02 16:51:25 26 4
gpt4 key购买 nike

我有一个托管在 IIS7 上的网站,我想对其进行 url 重写

我当前的网址 blog.mysite.com/article.aspx?name=marriage

我想将其重写为

blog.mysite.com/marriage

我尝试了一些规则,但没有给出完美的解决方案。

请分享您的想法,这对我有帮助

谢谢大家

石彬

最佳答案

假设您使用的是 Microsoft Rewrite 2.0,那么您的模式将是:

^([^/]+)/?$

您的重写 URL 将是:

article.aspx?name={R:1}

要从新的 url 方案简单重定向到旧的,请将其放入 web.config 的 system.webserver 部分:

<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="article.aspx?name={R:1}" />
</rule>
</rules>
</rewrite>

要执行从旧 url 到新 url 的重定向,以便旧 url 会自动更新到新方案,并包含将重写 html 输出以使用新 url 方案的处理,您可以将上面的内容替换为:

<rewrite>
<rules>
<rule name="RedirectUserFriendlyURL1" stopProcessing="true">
<match url="^article\.aspx$" />
<conditions>
<add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" />
<add input="{QUERY_STRING}" pattern="^name=([^=&amp;]+)$" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" />
</rule>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="article.aspx?name={R:1}" />
</rule>
</rules>
<outboundRules>
<rule name="OutboundRewriteUserFriendlyURL1" preCondition="ResponseIsHtml1">
<match filterByTags="A, Form, Img" pattern="^(.*/)article\.aspx\?name=([^=&amp;]+)$" />
<action type="Rewrite" value="{R:1}{R:2}/" />
</rule>
<preConditions>
<preCondition name="ResponseIsHtml1">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>

关于asp.net - 使用 IIS7 进行 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7821602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com