IIS 7: перенаправить все запросы в Default.aspx - PullRequest
5 голосов
/ 14 апреля 2009

Мы хотим перенаправить все запросы на сайте ASP.NET в ~ / Default.aspx, чтобы закрыть сайт. Мы используем IIS7. На сайте есть такие пути, которые возвращают страницу:

http://test.com/operating

Мы используем переписывание URL. Мы хотим, чтобы запросы, подобные этим, были перенаправлены в ~ / Default.aspx

http://test.com// http://test.com/.aspx http://test.com//.aspx

Мы обычно используем что-то подобное в web.config:

    <customErrors mode="On" defaultRedirect="Default.aspx">
        <error statusCode="404" redirect="Default.aspx" />
    </customErrors>

Проблема в том, что он не будет перенаправлять URL-адрес папки, как этот

http://test.com/*/

Спасибо!

Ответы [ 4 ]

3 голосов
/ 15 июня 2010

Вы можете поместить файл с именем App_Offline.htm в корень любого приложения ASP.NET. Это приводит к получению ЛЮБОГО запроса страницы .NET и выводу содержимого htm-файла вместо запрашиваемой страницы. На самом деле это не редирект, но это очень простой способ уничтожить весь сайт. Если вам нужно, вы также можете использовать стандартное мета-обновление для отправки любого запрошенного в новое местоположение (только не забудьте сделать это для файла ASPX на том же сайте).

2 голосов
/ 14 апреля 2009

Вы пробовали HttpRedirect ? Сначала вам нужно будет установить эту функцию.

0 голосов
/ 15 июня 2010

Я бы написал что-то подобное в Global.asax (учтите, это всего лишь пример, а не готовый к использованию код):

Application_BeginRequest(object sender, EventArgs e) {
    if(!Request.Url.ToString().ToLowerInvariant().Contains("default.aspx")) {
        Response.Redirect("Default.aspx");
    }
}

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

0 голосов
/ 11 июня 2010

Вы можете сделать это, если файлов больше не существует.

  <system.webServer>
    <httpErrors errorMode="Custom">
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" path="/Default.aspx" responseMode="ExecuteURL" />
    </httpErrors>

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