Имя страницы ASP .NET «псевдоним»

#asp.net

#asp.net

Вопрос:

У меня есть веб, в котором у меня есть две версии: одна на испанском и одна на английском. Они расположены на разных серверах и в разных доменах. Таким образом, они фактически ведут себя как два разных веб-сайта.

У меня есть только один проект ASP .NET, и в зависимости от домена я показываю все тексты на испанском или английском языках. Это работает правильно.

Сначала я разработал его на испанском языке, поэтому имена моих страниц написаны на испанском, например «Buscar.aspx» («Buscar» означает «Поиск»).

Я хотел бы также перевести название страницы, чтобы в адресной строке браузера отображались английские имена. Например, для моей страницы «Buscar.aspx» я хотел бы отобразить «Search.aspx» в адресной строке.

Итак, мой вопрос: есть ли какой-нибудь способ объявить какой-то «псевдоним» (или какой-либо другой механизм), чтобы я мог обрабатывать запросы к «Buscar.aspx» и «Search.aspx» через одну страницу ASP .NET, но все равно отображаемую в адресной строке как два разных адреса?

Ответ №1:

Переписывание URL-адреса

Вы могли бы переписать Search.aspx в Buscar.aspx

 <rewrite>
  <rules>
    <rule name="Search">
      <match url="^Search.aspx" />
      <action type="Rewrite" url="Buscar.aspx" />
    </rule>
  </rules>
</rewrite>
  

Затем эти правила могут быть помещены в ваш английский файл web.config

Комментарии:

1. Большое спасибо. Это было очень полезно. Чтобы сделать его идеальным, я изучу, как сделать этот раздел условным для домена, чтобы мне не приходилось сохранять два разных файла web.config. Я хотел бы избежать случайного копирования одного файла в неправильный домен.

Ответ №2:

Взгляните на маршрутизацию. Вы можете найти некоторую документацию здесь: ASP.NET Маршрутизация

Маршрутизация означает, что вы можете указать путь, который сопоставляется с определенным ASPX. Если вы переключите конфигурацию маршрутизации на основе ваших языковых настроек, у вас будет то, что вам нужно 🙂

Комментарии:

1. Спасибо, это было действительно полезно. Помимо моего вопроса, в этом документе я нашел несколько идей по улучшению некоторых других аспектов моей сети.