Перезапись URL-адресов в IIS для всех входящих URL-адресов? - PullRequest
2 голосов
/ 01 апреля 2010

Надеюсь, простой вопрос, хотя я нашел, что невозможно ответить самому себе, используя Google!

У меня на IIS есть веб-сайт с URL http://www.contoso.com/, который указывает на C: \ www \ public \

Произошла принудительная реструктуризация каталогов, поэтому теперь все данные (Default.aspx, Product.aspx и т. Д.), Которые изначально находились в C: \ www \ public \, теперь находятся в C: \ www \ public \ en. \ ie \ - однако корнем документа веб-сайта IIS по-прежнему является C: \ www \ public \

Итак, по сути, у меня много входящих ссылок на http://www.contoso.com/Product.aspx?id=1 (и т. Д.), Которые теперь возвращают 404 ошибки - правильная ссылка теперь http://www.contoso.com/en/ie/Product.aspx?id=1

Учтите, что я не могу вносить изменения в структуру каталогов или корень документа IIS ... поэтому я должен решить эту проблему с помощью перезаписи URL.

Можно ли перехватить всех запросов на contoso.com/* и переписать их на contoso.com/en/ie/* ??

Ответы [ 2 ]

3 голосов
/ 16 апреля 2010

Как предлагает Ivo, с помощью перезаписи URL вы можете настроить входящие правила, которые соответствуют старому шаблону URL и перенаправлять на новый шаблон

http://learn.iis.net/page.aspx/460/using-url-rewrite-module/

0 голосов
/ 01 апреля 2010

Измените корневой каталог вашего сайта с C: \ www \ public \ на C: \ www \ public \ en \ ie \, и все должно быть в порядке.

Если вы не можете сделать это по какой-либо причинесоздайте пользовательскую страницу 404 и переписайте ее в URL и перенаправьте с помощью 301

См .: http://searchengineland.com/url-rewriting-custom-error-pages-in-aspnet-20-12234

...