URL rewrite - ошибка web.config
Я получаю следующую ошибку при запуске моей страницы .aspx.
Код ошибки0x8007000d
Раздел конфигурации 'rewrite' не может быть прочитан, поскольку отсутствует объявление раздела
У меня есть простая страница v.aspx, которая имеет следующий код:
Response.Write(Запрос ( "Q" ))
Мой хостинг-сервер как IIS 7, установленный с включенной функцией перезаписи URL (что они требуют)
Мой файл web.config имеет следующие строки:
Примечание. node имеет под ним синие squiggly строки
<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="v.aspx?q={R:1}" />
</rule>
</rules>
</rewrite>
Я искал stackoverflow, но не нашел решения.
Может быть, кто-то нашел решение.
ТИА
Ответы
Ответ 1
Убедитесь, что ваш <rewrite>
заключен в раздел <system.webServer></system.webServer>
.
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="RewriteUserFriendlyURL1" stopProcessing="true">
<match url="^([^/]+)/?$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="v.aspx?q={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Ответ 2
Установите модуль перезаписи URL http://www.iis.net/download/URLRewrite и его следует отсортировать. Он исправил мою проблему
Ответ 3
Раздел перезаписи в system.webServer поддерживается в IIS7, но не в IIS6. Вероятно, ошибка вызвана развертыванием этого сайта на сервере, на котором работает только IIS6.