Разработка и реализация коротких URL-адресов в стеке IIS и ASP.NET - PullRequest
1 голос
/ 07 марта 2011

Я заинтересован в создании «коротких URL» сегмента страниц на сайте.Тем не менее, это не в традиционном смысле «короткие URL», такие как bit.ly, где он будет перенаправлять на другой целевой URL.Я хочу, чтобы короткий URL был конечным пунктом назначения.

Например, один из этих URL-адресов может быть http://foo/a/Afjbg,, и при переходе к нему он остается на http://foo/a/Afjbg (IOW, http://foo/a/Afjbg виден пользователю в адресной строке).

Если бы это был статический контент, я бы просто разместил страницы и папки под этими именами.Но контент, который у меня будет на сайте, будет динамически извлекаться из БД, поэтому каждая страница генерируется на лету.Таким образом, содержимое выглядит логически иначе, но на самом деле это по сути та же страница .aspx с динамическим содержимым.

Как это можно сделать в стеке хостинга Microsoft?Платформа - IIS 7 с ASP.NET 4. Я думаю, что есть способ легко это настроить, но, будучи новичком в стеке хостинга MS, я понятия не имею:)

Ответы [ 3 ]

1 голос
/ 07 марта 2011

Он называется URL-маршрутизация , и ASP.NET поддерживает его изначально, начиная с версии 3.5.Вот пример на C #, взятый из MSDN.Сквозь скобки отделяют фрагменты пути URL, которые отправляются в качестве параметров на ~/categoriespage.aspx.

protected void Application_Start(object sender, EventArgs e)
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("",
        "Category/{action}/{categoryName}",
        "~/categoriespage.aspx");
}
1 голос
/ 07 марта 2011

Использовать ASP.NET MVC маршрутизация

Позволяет направлять любой шаблон URL на «страницу»

, например

routes.MapRoute(
                "Default", // Route name
                "a/{id*}",   // Route anything to this controller
                new { controller = "Home", action = "Index", id = "" } // Parameter defaults
            );
0 голосов
/ 07 марта 2011

Вы можете использовать практически любой .NET * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * * * * * * * 100 *

подробности:

В большинстве CMS и блоговых движков программное обеспечение отделяет слаг от заголовка поста. Он будет автоматически сгенерирован для вас, если вы не укажете слаг ... например, пост под названием «Hello world» может получить сгенерированный слаг «hello_world». Но вы можете ввести свой собственный слаг, чтобы быть "Afjbg".

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

Вы можете попробовать использовать маршрутизацию ASP.NET, но, не зная больше о приложении, которое вы создаете или создаете, это может не сработать легко (то есть некоторые движки CMS могут уже использовать маршрутизацию или использовать обработчики старой школы, которые не играйте с этим приятно).

...