Если я неправильно понял .htacess для Apache и если вы программируете в ASP.Net, вы почти наверняка используете IIS.Так что играйте в .htaccess в своих исследованиях.
Вы можете использовать какой-нибудь URL Rewriter для ваших перенаправлений, но это может быть очень сложным.Если бы я был тобой, я бы сделал это как можно проще и сделал бы твои старые перенаправления 301 страницы в событии Page_Load, т. Е.
protected void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.domainname.com/new-page.aspx");
}
Для своего канонического перенаправления (не с www на www) ты мог бы сделать подобное в Global.asax файл в Application_BeginRequest
, чтобы обнаружить вариант без www, т.е.
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains(
"http://mysite.com"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location",
Request.Url.ToString().ToLower().Replace(
"http://mysite.com",
"http://www.mysite.com"));
}
(это не мой код, откуда он взялся здесь )
Вот чтоВ любом случае, я бы поступил так: преимущество в том, что он прост в понимании и не позволяет использовать любую странную конфигурацию веб-сервера, которую я иногда нахожу в чёрном ящике.