2015-06-01 19 views
9

ASP MVC.NET projemdeki bazı URL'lerden gelen yoksayma hakkında bir makale okudum. Makalesinde yazarı, bunun gibi bazı denetleyicilere bazı eylemler eklememiz gerektiğini söyledi. Bu örnekte o Ev Kontrolörü için harekete ekler:MVC.NET'te Robots.txt dosyası 4

#region -- Robots() Method -- 
public ActionResult Robots() 
{ 
    Response.ContentType = "text/plain"; 
    return View(); 
} 
#endregion 

o zaman bu bedene

@{ 
    Layout = null; 
} 
# robots.txt for @this.Request.Url.Host 

User-agent: * 
Disallow: /Administration/ 
Disallow: /Account/ 

ile projede bir Robots.cshtml dosyası eklemek gerekir ve nihayet bu kod satırı eklemek gerekir Gloabal.asax

routes.MapRoute("Robots.txt", 
       "robots.txt", 
       new { controller = "Home", action = "Robots" }); 

soruma robotlar [Yetkilendirme] Administration gibi niteliklerin etmiştir denetleyicileri tarama mıdır ki?

+2

Yukarıdaki kodu kullanmaya çalışanlar için: çalışır, ancak "robots.txt" yolunun web.conf dosyanızdaki MVC yolları tarafından işlendiğini etkinleştirmeniz gerekir: http://stackoverflow.com/a/31871043/466935 – Gerwald

cevap

7

robotlar vardır denetleyicileri tarama yapmak [Yetkilendirme] İdaresi gibi nitelik

onlar için bir bağlantı bulursanız, bunu denemek ve tarama muhtemeldir, ama sadece olan herkes gibi başarısız olur Giriş yapmayan bir web tarayıcısı. Robotların web sitenize standart bir tarayıcıdan farklı bir şekilde erişme yeteneği yoktur. Kesin URL'yi Robots Exclusion Standard taramasına

http://mydomain/robots.txt

uygun robotlar İstediğiniz ancak bu URL için bir yanıt oluşturabilir

Not. Bir yaklaşım kesinlikle bu talebi yerine getiren bir denetleyiciye sahip olmaktır. Ayrıca, denetleyiciden döndürdüğünüz aynı içeriğe sahip bir metin dosyası da ekleyebilirsiniz.

User-agent: * 
Disallow: /Administration/ 
Disallow: /Account/ 
projenizin kök klasörüne

ve web sitesine dağıtıldığı, böylece içerik olarak işaretlenmiş olduğundan emin olun.

Bu robots.txt girişinin eklenmesi, uyumlu robotların kimlik doğrulaması gerektiren denetleyicileri taramaya çalışmasını engeller (ve web sitenizdeki yükü hafifçe hafifletir), ancak robotlar dosyası olmadan URL'yi dener ve başarısız olurlar.

+0

Arkadaş yok Soruma göre, bazı özel Denetleyicilerin robotlar için izin vermediğini belirtmiştim. İzin gerektiren özel kontrolörleri tarayabilirler mi? –

+0

Hayır, yapamazlar, bir web tarayıcısına sahip olanlardan daha azını yetki gerektiren herhangi bir URL'yi tarayabilir. Cevabımı güncelledi. –

+0

Teşekkür ederim Arkadaşım :) –