Назад | Перейти на главную страницу

Перенаправление отдельного запроса на другие страницы, игнорирование субдомена www

У меня есть сайт, работающий на IIS 7.5, который выполняет автоматическое перенаправление с 'http://mysite.com/whatever.aspx'к'http://www.mysite.com/whatever.aspx'

На сайте есть много трафика на старый URL, который я хочу перенаправить на главную страницу index.aspx: 'http://mysite.com/foo/bar/index.cgi%something=asdf&somethingelse=qwerty'

Проблема в том, что что бы я ни пытался, я могу заставить перенаправление работать только с субдоменом www. Если я использую URL без www, я просто попадаю на 'http://www.mysite.com/404.aspx'

Любые идеи? Заранее спасибо за помощь!

Edit3: похоже, что браузер, кэширующий ответ перенаправления, возился со мной, поэтому edit2 неверен. Смотрите мой ответ ниже.

Edit2: не обращайте внимания на edit1, похоже, что он все-таки не работает.

Изменить: вот дополнительная информация: использование Эта статья Мне удалось перенаправить с "http://mysite.com/foo/bar/index.cgi'к'http://www.mysite.com/index.aspx', но если я добавлю параметры строки запроса, он все равно будет перенаправлен на'http://www.mysite.com/404.aspx'

Нет ли способа перехватить все запросы к файлу cgi, включая параметры строки запроса?

Итак, мне удалось заставить его работать следующим образом:

1) Добавьте подкаталог / foo / bar к приложению в IIS
2) Добавьте файл index.cgi в подкаталог
3) Создайте в подкаталоге следующий webconfig:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <httpRedirect enabled="true"  exactDestination="true" httpResponseStatus="Permanent">
      <add wildcard="*.cgi*" destination="http://www.mysite.com/index.aspx" />
    </httpRedirect>
  </system.webServer>
</configuration>

Это ловит все запросы к index.cgi, но у меня это работает. Я, вероятно, мог бы заставить его работать только с указанным мной URL-адресом, но это не нужно.