2009-05-19 5 views
1

Я использую Sitecore в качестве решения CMS. Недавно мы решили добавить возможность перенаправления на наш сайт для ошибок. В Sitecore я создал две страницы контента, один для обработки ошибок сервера, а другой - для обработки 404 ошибок. Я внедрил ошибку сервера с базовыми подуровнями без какого-либо кода. С другой стороны, страница 404 имела подъярус, который позволяет отображать ссылку, которая была напечатана, что привело к ошибке 404. Затем я добавил эти страницы в файл web.config (я отредактировал параметр customErrors для перенаправления на страницу ошибок сервера и 404 ошибок для перенаправления на страницу с ошибкой 404. Я также заменил настройки NoItems, чтобы указать на мою ошибку 404 страница404 Переадресация на страницу Sitecore позволяет без добавочного URL-адреса

Кроме того, я изменил HTTP-ошибку 404, чтобы указать на мою новую страницу ошибок 404 в IIS (5.1). Ло и вот, мои изменения сработали, я смог перенаправить многие из ошибок на эти новые страницы Однако я обнаружил, что, заставляя IIS перенаправлять на мою страницу aspx для 404 ошибок, на моем веб-сайте теперь перенаправляется перенаправление URL-адресов без перенаправления. (Предположительно, если я набрал http://mywebsite/foo, я получу ошибку 404. Теперь, выполнив все это , он доставляет меня на страницу foo.aspx)

  1. Может ли кто-нибудь объяснить это поведение? Любое правдоподобное объяснение позволит мне спать по ночам.

  2. Должен ли я использовать это как временное решение для перенаправления перенаправляемых URL-адресов? Что может быть неправильным с этим решением?

ответ

4

Посмотрите на это в web.config в разделе linkManager:

addAspxExtension 

Это значение ИСТИНА? Если это так, то это параметр сидения, который вам нужно будет изменить.

+0

Итак, если для этого параметра установлено значение true, то работает URL без расширения? У меня есть правда, так что я предполагаю, что это то, что вы имеете в виду. – johnofcross

+2

Нет, если вы установите значение true, это будет «Добавить расширение Aspx», которое не является тем, что вы хотите от своего начального сообщения. Из самого файла web.config: «Если вы установите значение« false », не забудьте настроить IIS для сопоставления всех запросов (*) с ASP.NET» –

+0

Если кто-то заинтересован и имеет учетную запись Sitecore, есть еще текущая дискуссия, связанная с этой проблемой: http://sdn.sitecore.net/SDN5/Forum/ShowPost.aspx?PostID=19304 – johnofcross