PDA

View Full Version : چطوری خطای 301 رو مدیریت میکنند (اتنقال به www)



elham1611
پنج شنبه 05 اردیبهشت 1392, 02:12 صبح
سرور سایتم iis 6 داره.
چطوری سایت رو وقتی بدون www وارد میکنن خود به خود به سایت با www انتقال میده؟

raziee
پنج شنبه 05 اردیبهشت 1392, 11:39 صبح
نحوه اجباری کردن استفاده از WWW در ASP.NET MVC (http://www.dotnettips.info/post/1118/%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%AC%D8%A8%D8%A7%D8%B1%DB%8C-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-www-%D8%AF%D8%B1-asp-net-mvc)

البته لینک بالا برای ASP.NET MVC هست. میتونید اون رو به همین شکل استفاده کنید اما اگه نمیخواهید کافیست کد زیر رو در رویداد BeginRequest فایل Global قرار بدید(البته با کمی تغییرات)
if (!filterContext.RequestContext.HttpContext.Request .IsLocal)
{
string url = filterContext.RequestContext.HttpContext.Request.U rl.AbsoluteUri.ToLowerInvariant();
if (!url.Contains("www"))
{
url = url.Replace("http://", "http://www.");
url = url.Replace("https://", "https://www.");
filterContext.Result = new RedirectResult(url, true);
}
}

bitcob589
دوشنبه 09 اردیبهشت 1392, 18:31 عصر
چگونه کدی که در پست 2 گذاشته شده است در رویداد BeginRequest در فایل Global قرار دهیم

fakhravari
دوشنبه 09 اردیبهشت 1392, 19:11 عصر
add new item > file Global


protected void Session_Start(Object sender, EventArgs e)
{
Session.Contents.Add("pathprefix", pathPrefix);
}

protected void Application_BeginRequest(Object sender, EventArgs e)
{
//do stuff here
pathPrefix = "../";
}

elham1611
جمعه 03 خرداد 1392, 03:59 صبح
کار این global.asx در حقیقت چیه؟

elham1611
جمعه 03 خرداد 1392, 04:03 صبح
اینم میشه

protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (!HttpContext.Current.Request.Url.ToString().ToLow er().StartsWith("http://www"))
{
Response.Redirect("http://www.mysite.com");
}
}
در فایل global.asax قرار میدیم حله

forestasphalt
جمعه 03 خرداد 1392, 16:13 عصر
همین کار رو با وب کانفینگ هم میتونی اینجام بدی


<system.webServer>
<rewrite>
<rules>
<rule name="Remove WWW prefix" >
<match url="(.*)" ignoreCase="true" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.domain\.com" />
</conditions>
<action type="Redirect" url="http://domain.com/{R:1}"
redirectType="Permanent" />
</rule>
</rules>
</rewrite>
<system.webServer>
این کد برای حذف کردن www میباشد وکد زیر برای اضافه کردن www

<rewrite>

<rules>
<rule name="Redirect" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^domain.com$" />
</conditions>
<action type="Redirect" url="http://www.domain.com/{R:0}" />
</rule>
</rules>
</rewrite>


فقط فراموش نکنی به جای domain اسم سایته خودتو بنویسی
فایل global برای مدیریت درخواست ها،مدیریت(شروع و پایان سشن،شروع و پایان application مدیریت رخدادها event )
میتونی به لینک زیر هم نگاهی بندازی
http://en.wikipedia.org/wiki/Global.asax