Прежде всего, я хотел бы извиниться за нелепое название. Я не пытаюсь звучать круто или умно, используя слово «двунаправленный», я просто искренне не мог придумать другой способ описать его. Promise.
По моей проблеме. У меня есть следующее в разделе <system.webserver>
/ <rewrite>
/ <rules>
моего Web.config.
<!-- 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 страницы), вы будете перенаправлены на URL http://example.com/who-we-are () Виртуальный URL), и если вы посетите виртуальный URL, вы будете перезаписаны в фактический URL.
Это означает суперсекретные URL-адреса без дублирования, и это также не приводит к взаимному переписыванию, поэтому улыбается со всех сторон.
У меня такой вопрос: можно ли сделать это более элегантно?
Немного обременительно писать два правила, чтобы гарантировать, что одно перенаправлено на другое, а другое переписано на другое. Можно ли написать одно правило, которое будет достигать функциональности вышеупомянутых двух?