У меня есть сайт, работающий на 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-адресом, но это не нужно.