четверг, 23 июня 2011 г.

Настройка расширений в URLах страниц

В C1 для страниц на сайте используется расширение .aspx. По крайней мере так было вплоть до последней официальной версии 2.1.1.

Начиная с 2.1.3, бета-версии которые можно установить и изучить уже сейчас, ситуация кардинальным образом изменилась.


Маленький пример. Допустим у вас такая иерархия страниц на сайте (скажем, www.contoso.com):

Home
  • Products
    • Product A
      • Details
    • Product B
      • Details
Когда вы обратитесь к детальному описанию продукта А на русском языке, в вашем браузере будет такой веб-адрес:

http://www.contoso.com/ru/Home/Product-A/Details.aspx

Благодаря новой возможности настройки URLов в С1, начиная с версии 2.1.3, этот веб-адрес может стать таким:

http://www.contoso.ru/Product-A/Details

Что произошло?
  • Во-первых, больше не используется расширение .aspx.
  • Во-вторых, разные языковые версии сайта теперь соотносятся со своими языковыми доменными именами (http://www.contoso.com/ru/http://www.contoso.ru/).
  • В-третьих, из веб-адреса исчезло название домашней страницы конкретного сайта C1 (в данном случае Home).
Давайте подробнее остановимся на пункте 1 - отсутствии расширения у страниц сайта. (О других двух пунктах я расскажу в следующих сообщениях.)

В версии 2.1.3 появилась возможность менять расширение, используемое с URLом страницы (URL suffix).

Теперь, по умолчанию, все страницы лишены какого-либо расширения. Однако при желании, можно вернуть привычное .aspx. А если нужно, то можно настроить любое другое расширение (.html).

Чтобы настроить расширение, используемое с URLом страницы:
  1. В админке, в разделе "Система", выбираем URL Configuration.
  2. Нажимаем кнопку Edit URL Configuration.
  3. В поле Page URL Suffix делаем следующее:
    • Если нам расширение не нужно вообще - оставляем поле пустым.
    • Если нам нужно какое-нибудь расширение - вписываем его туда, с точкой в начале, напр., .php.
  4. Сохраняем настройку (Save).

Это все работает на IIS7+. Если же вы используете IIS6, то для использования расширений отличных от .aspx, "вам понадобиться добавить сопоставление (mapping) шаблонного расширения (wildcard) c aspnet_iisapi.dll. (Как это сделать - описано здесь на английском: "Configure IIS for Wildcard Extensions in ASP.NET".)

Далее мы рассмотрим привязку имени сервера к подсайту в C1.

(продолжение следует...)

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

Отправить комментарий