Я думаю, что проблема с IE, а не IIS.
Перезапись URL-адреса обычно относится к процессу сопоставления URL-адреса с http://example/shoes/clarkes
на http://example/shoes.aspx?maker=clarkes
на сервере, чтобы браузер не знал об этом.
Что вам нужно сделать, это перенаправить браузер с http://www.server.com//page.aspx
на http://www.server.com/page.aspx
с помощью 301 Http-кода ответа .
В теории:
Поскольку вы, похоже, используете ASP.NET, наиболее прозрачный способ сделать это - написать HttpModule , который проверяет наличие двойных слешей в запрошенном URI и выполняет перенаправление.
Самый простой способ сделать это - поместить некоторый код в Global.ascx. (Cs | vb) для проверки запрошенного URI на BeginRequest .
В любом случае код для проверки будет таким же.
На практике:
Возможно, IIS или ASP.NET сглотнули двойную букву "/", прежде чем вы получите возможность ее увидеть. Если это IIS, то вам, возможно, придется использовать прокси перед IIS.
Если это ASP.NET, то вы можете найти расширение ISAPI , которое выполнит эту работу за вас.
Другие опции
Вы можете либо
- Разделите страницу так, чтобы большая часть отдельных ресурсов могла кэшироваться отдельно от HTML-контента
- Обучите пользователей тому, что им не нужно добавлять лишнюю косую черту.