2010-10-28 3 views
2

Один из моих клиентов ссылается на определенный URL. Она печатает URL-адрес на физических письмах, и получателям требуется несколько недель, чтобы посетить URL-адрес и выполнить задачу. Допустим, что URL она дает это:Перенаправление IIS с определенного устаревшего URL?

www.department-a.domain.com/folder/important-page.html

Проблема заключается в том, что я переключение Content Management Systems, чтобы страница, она связывает людей будет сидеть по другому URL-адресу. Но поскольку она физически печатает URL-адрес на письмах, должно быть некоторое перекрытие, чтобы люди могли посещать старый URL-адрес и перенаправляться.

Вот где это сложно. В новой системе субдомен www.department-a.domain.com фактически отправляется на www.domain.com/index/department-a.aspx

Это не папка, а фактическая страница, которая делает перенаправление сложно. Это также означает, что я не могу просто воссоздать структуру папок и использовать простое обновление/переадресацию метаданных. По сути мой вопрос:

Есть ли в IIS, чтобы сообщить серверу, что когда кто-то пытается просмотреть конкретный и уже не существующий URL-адрес «www.department-a.domain.com/folder/important-page.html «перенаправить их в другое место? Я новичок в .net и IIS, поэтому приветствуется любой ввод или ссылки или советы.

Извините, я использую IIS7, а не IIS6, как я уже указывал.

Спасибо!

ответ

2

Посмотрите на переписывание URL.

При использовании IIS 7: Here

+0

Hi bechbd. Я обязательно рассмотрю модуль перезаписи URL. Мой вопрос: возможно ли перенаправить один конкретный URL.Я не очень разбираюсь в RegEx и т. Д. – BlueDev

+0

Да, можно переадресовать один URL-адрес, используя переписывание. Посмотрите t, используя Rewrite Maps в перезаписи URL: http://learn.iis.net/page.aspx/469/using-rewrite-maps-in-url-rewrite-module/ – bechbd

1

Я новичок в .NET в прошлом месяце, и нужно это точно такое же решение. Все рекомендовали плагины перезаписи URL-адресов, такие как bechbd, но я просто хотел переслать один адрес. Неужели это был путь? Оказывается, нет - потому что IIS 6 невероятно глуп.

Вместо этого вам нужно будет поместить код на фактическую страницу (или установить плагины, если вы делаете больше, чем несколько URL-адресов).

.ASP

<%@ Language=VBScript %> 
<% 
' Permanent redirection 
Response.Status = "301 Moved Permanently" 
Response.AddHeader "Location", "http://www.example.com/" 
Response.End 
%> 

.aspx

<script language="VB" runat="server"> 
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    Response.Status = "301 Moved Permanently" 
    Response.AppendHeader("Location", "http://www.example.com/") 
    End Sub 
</script> 

Я просто реализовал этот код в прошлом месяце, и все поисковые системы должным образом изменили свой индекс на основе редирект 301. Я нашел LOT вариантов этого кода по сети, но код выше работал отлично на моем конкретном складе IIS 6.

+0

Hi Вырожденный. Точно, мне не нужны регрейсы RegEx для целой коллекции статей и т. Д. ... нужен только один URL. Жесткая часть - URL, который отправляет клиент, имеет субдомен в начале его, который настроен для пересылки на определенную страницу, а не в каталог. Это означает, что я не могу поместить код на фактические страницы, так как я не могу создать структуру папок. – BlueDev

+0

Затем перейдите и установите плагин перезаписи IIS7. Это была серьезная боль для установки для IIS6, но выглядела довольно легко для 7, и она должна справиться с проблемой поддомена, которую у вас есть. – degenerate

+0

«Оказывается, нет, потому что IIS 6 невероятно глуп». - Буквально громко рассмеялся. Это очень неприятно. Существует отличный инструмент от HeliconTech, называемый перезаписи ISAPI, который имитирует файл .htaccess, обнаруженный на серверах Apache. К сожалению, я не могу использовать его из-за технических ограничений, и отсутствие альтернатив вызывает разочарование. – plntxt

0

Url rewriting - это правильный способ полета. В крайнем случае, или застрял на IIS6, вы можете создать виртуальный каталог вообще. Включение имени файла. Любой виртуальный каталог может быть перенаправлен на сервер.

Чтобы обойти проблему поддомена отдела, ключевым вопросом является «что-нибудь будет работать по этим URL-адресам?» Если нет, то просто настройте сайт, чтобы перенаправить все это.

Смежные вопросы