Правильный редирект с domain.com на www.domain.com

lex
Дата: 23.04.2007 13:09:59
на Apache это делается так:
в .htaccess:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.ваше_имя\.ru [NC]
RewriteRule ^(.*)$ www.ваше_имя.ru/$1 [L,R=301]

любые адреса страниц без www перенаправляются на адреса с www с кодом ошибки 301, что означает "Moved permanently", то есть перемещенно на всегда.

1. как сделать это на ASP.NET?
2. какой код возвращает:
Response.Redirect("www.domain.com") ?
Best regards, Alexander.
prokhorovserge
Дата: 23.04.2007 16:17:59
Если запрашиваемые ресурсы обрабатываются ASP.NET, то можно написать HttpModule, где в BeginRequest сделать что-то типа такого
if (!this.Request.Url.Host.StartsWith("www"))
{
 this.Response.StatusCode = 310;
 string url = this.Request.Url.AbsoluteUri.Replace(this.Request.Url.Host,
  "www." + this.Request.Url.Host);
 this.Context.RewritePath(url);
}
и зарегистрировать этот модуль для Default Web Site.

Если это надо делать на уровне IIS и это не IIS7, то надо писать ISAPI фильтр, который делает то же самое. В IIS7 описанный выше код можно подписать на все запросы к хосту.
Serge
Dmitry Uvarov
Дата: 23.04.2007 19:06:52
serge не ищет легких путей :)
все проще
создаешь в IIS новый сайт, обзови его, для понятливости админам, "domain.com (redirect)", он будет редиректом.
там где Home Directory выбери вариант
A redirection to URL, ниже введи
http://www.domain.com$S$Q
поставь галку the exact url entered above
наслаждайся :)
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
Dmitry Uvarov
Дата: 23.04.2007 19:16:01
забыл опять, конечно новому сайту пропиши host header = domain.com, а основному ессесно www.domain.com
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
prokhorovserge
Дата: 23.04.2007 22:57:25
Dmitry Uvarov:
забыл опять, конечно новому сайту пропиши host header = domain.com, а основному ессесно www.domain.com

Согласен. Меня сбило выражение с любых адресов без www на адреса с www. Т.е. я воспринял это как для любого имени хоста. Но такая постановка задачи - абсурд .
Эту фишку я когда-то встречал. Но забыл, спасибо что напомнили.
Serge