Как избавиться от фактического имени файла в URL? - PullRequest
3 голосов
/ 09 октября 2011

Например, этот URL-адрес http://stackoverflow.com/questions/ask, а не что-то вроде http://stackoverflow.com/questions/ask.aspx.Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 09 октября 2011

Вы можете использовать эти приемы и инструменты:

http://forums.iis.net/t/1150350.aspx - IIS Solution

http://forums.asp.net/t/979581.aspx - ASP.NET 404 Page решение

0 голосов
/ 04 февраля 2012

Если ваш вопрос не относится к aspx-страницам, вы можете сделать это с помощью файла .htaccess на любом веб-сервере, на котором работает apache (и mod_rewrite - но это почти все из них).

См. Различные вопросы на этом сайте о .htaccess или ознакомьтесь со многими простыми учебными пособиями онлайн.

По сути, вы можете поместить специальный файл .htaccess в корень каталога, на который вы хотите повлиять, то есть, по сути,

Вместо about_us/details.php вы можете просто использовать about_us/details

Это очень простой пример

RewriteEngine on 
Options +FollowSymlinks

RewriteRule ^questions/ask ../questions/ask.aspx [L]
0 голосов
/ 09 октября 2011

Добавьте ссылку на сборку System.Web.Routing, а затем добавьте в свой файл global.asax следующее:

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

public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("",
        "questions/ask/{question}",
        "~/questions/ask.aspx");
}
0 голосов
/ 09 октября 2011

Это происходит, когда веб-сервер реализует обработчик, который отображает данный шаблон URL на фактическое содержимое для обслуживания.

На этом сайте, вероятно, это связано с использованием инфраструктуры MVC (угадывание).

В Windows IIS вы можете использовать http://www.iis.net/download/URLRewrite

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...