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

Модуль перезаписи URL-адресов IIS7 выдает ошибку при попытке настроить правила перезаписи

При нажатии на функцию перезаписи URL в диспетчере IIS7 я получаю сообщение об ошибке:

There was an error while performing this operation.

Details:

Filename: \\?\C:\Domains\...<blah_blah>...\web.config
Error: The configuration section 'system.webServer/rewrite/rules'
cannot be read because it is missing a section declaration

Я только что перешел с настройки IIS6 на сервер IIS7, и в моем файле web.config нет раздела перезаписи в system.webServer

IIS6 и IIS7 используют отдельные части web.config файл, чтобы указать конфигурацию сайта.

Например, IIS6 использует system.web раздел, тогда как IIS7 использует system.webServer раздел. Но это не так просто, как изменить этот один элемент, потому что лежащие в основе дочерние элементы также разные.

Некоторые ключевые изменения:

  • <httpModules> и <httpHandlers> были переименованы в <modules> и <handlers>соответственно.
  • Каждому обработчику в IIS7 требуется атрибут имени. Если вы не укажете его, вы получите сообщение об ошибке.
  • Узел обработчиков имеет необязательный, но удобный для определения accessPolicy атрибут. Это значение зависит от ваших обработчиков, поэтому используйте те, которые подходят вам.

Эти предложения и дополнительную информацию можно найти в этой публикации: Используйте один Web.Config для IIS6 и IIS7