ルーティング エンジンが小文字の URL を生成するように強制/拡張することは可能/controller/action
です/Controller/Action
か?
3630 次
2 に答える
16
さらに、大文字の受信リクエストを強制的に小文字バージョンにリダイレクトする必要があります。検索エンジンは URL の大文字と小文字を区別して扱います。つまり、同じコンテンツへのリンクが複数ある場合、そのコンテンツのページ ランキングは分散され、希薄になります。
このようなリンクに対して HTTP 301 (Moved Permanently) を返すと、検索エンジンはこれらのリンクを「マージ」し、コンテンツへの参照を 1 つだけ保持します。
次のようなものをGlobal.asax.cs
ファイルに追加します。
protected void Application_BeginRequest(object sender, EventArgs e)
{
// Don't rewrite requests for content (.png, .css) or scripts (.js)
if (Request.Url.AbsolutePath.Contains("/Content/") ||
Request.Url.AbsolutePath.Contains("/Scripts/"))
return;
// If uppercase chars exist, redirect to a lowercase version
var url = Request.Url.ToString();
if (Regex.IsMatch(url, @"[A-Z]"))
{
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
Response.AddHeader("Location", url.ToLower());
Response.End();
}
}
于 2010-09-07T23:56:37.230 に答える
4
はい、global.asax ファイルのルーティングで変更するだけです。
@それが重要かどうかを尋ねるすべて: はい、私はそれが重要だと思います. URL をすべて小文字にすると見栄えが良くなります。
ビル・バクストンは、できるときに見栄えを良くしないと、子猫を殺します.
于 2009-03-30T10:28:13.007 に答える