首先,我想为这个荒谬的标题道歉。我并不是想通过使用“双向”这个词来听起来很酷或聪明,我真的想不出另一种方式来描述它。承诺。
关于我的问题。<system.webserver>
我的 Web.config 的//部分中有以下内容<rewrite>
。<rules>
<!-- Who We Are -->
<rule name="1A">
<match url="^whoweare\.aspx$" />
<action type="Redirect" url="who-we-are" redirectType="Permanent" />
</rule>
<rule name="1B">
<match url="^who-we-are$" />
<action type="Rewrite" url="whoweare.aspx" />
</rule>
<!-- What We Do -->
<rule name="2A">
<match url="^whatwedo\.aspx$" />
<action type="Redirect" url="what-we-do" redirectType="Permanent" />
</rule>
<rule name="2B">
<match url="^what-we-do$" />
<action type="Rewrite" url="whatwedo.aspx" />
</rule>
现在这非常有效。实际上,如果您访问 URL http://example.com/whoweare.aspx(这是页面的实际URL),您将被 301 重定向到 URL http://example.com/who-we-是(虚拟URL),如果您访问虚拟 URL,您将被重写为实际 URL。
这意味着超级性感的 URL 没有重复,也不会导致相互重写,所以大家都笑了。
我的问题是:这可以更优雅地完成吗?
必须写出两条规则以确保将一条重定向到另一条,并将另一条重写为一条,这有点麻烦。是否可以编写一个规则来实现上述两个功能?