Перенаправления URL-адресов пользовательских ошибок IIS7 не работают с нефизическими файлами - PullRequest
2 голосов
/ 30 июня 2009

Так вот в чем проблема. Мы запускаем Sitecore, который выполняет перезапись URL и позволяет что-то вроде example.com/Folder/Page.aspx быть правильным URL.

Теперь «Папка» фактически не существует в файловой системе, как и «Page.aspx». Но эти URL работают, потому что ASP.NET делает то, что должен.

Хорошо, теперь скажите, что я пытаюсь перейти на несуществующую веб-страницу, например example.com/idontexist.html. Это не существует в файловой системе и не использует ASP.NET для разрешения файла, поэтому мы получаем ошибку IIS7 404.

Теперь я хочу изменить страницу ошибок 404 на страницу пользовательских ошибок, используя URL-адрес. Скажем, URL-адрес example.com/ErrorPage.aspx. Эта страница на самом деле не физическая, а элемент в Sitecore.

В конфигурации «Произвольная ошибка» в IIS Manager я пытаюсь изменить «Ошибка 404», чтобы она указывала на «Перенаправление URL», и я использую «/ErrorPage.aspx» в качестве перенаправления URL. Когда я пытаюсь перейти к URL, который не существует, IIS7 взрывается с ошибкой, говорящей, что он не может найти /ErrorPage.aspx.

В IIS6 это не проблема, и все работает отлично. Но на IIS7 я перенаправляю на URL, который физически отсутствует на сервере.

Помощь!

1 Ответ

0 голосов
/ 30 июня 2009

Короче говоря, вот что:

1) настроить IIS так, чтобы 404 ошибки переходили в «default.aspx» 2) создайте страницу, которая фактически обрабатывает то, что вы хотите обработать.

Ссылочные ссылки, оригиналы SDN:

http://sdn5.sitecore.net/upload/sitecore6/handling_http_404_a4.pdf http://sdn.sitecore.net/upload/sitecore6/dynamic_links_a4.pdf

...