使操作或頁面轉換的所有 URL 都小寫

頁面創建日期 :

環境

Visual Studio
  • Visual Studio 2019
ASP.NET Core
  • 3.1 (MVC, Razor 頁面)

默認 URL 大小寫

ASP.NET Core Web 應用中,當您通過連結等轉換到其他 URL 時, 它基本上是混合大小寫。

規則是,對於 Razor 頁面,請指定 Pages 資料夾中的 .cshtml 檔名。 對於 MVC,將按原樣使用控制器類名稱和操作方法名稱。

此命名法僅適用於使用 ASP.NET Core 功能生成 URL 的命名法。 例如,為以下內容指定 asp-xxxxxx:

<!-- Razor ページの場合 -->
<a asp-area="" asp-page="/Privacy">Privacy</a>

<!-- MVC の場合 -->
<a asp-area="" asp-controller="Home" asp-action="Privacy">Privacy</a>

直接指定網址 的內容不符合條件,如下所示:

<a href="/Privacy">Privacy</a>

順便說一下,生成的 URL 遵循上述規則。 ASP.NET Core 不區分大小寫訪問 URL。 您可以按大小寫訪問 URL。

使所有 URL 都小寫

訪問本身不區分大小寫,因此您不需要擔心問題作為行為。 有些人可能不希望大寫字母顯示,因為 Web 瀏覽器顯示 URL。

在這種情況下,將以下.cs添加到 Startup 檔案將使所有連結網址 都小寫:

// 追加
using Microsoft.AspNetCore.Routing;

public class Startup
{
  public void ConfigureServices(IServiceCollection services)
  {
    services.AddRazorPages();

    // 追加
    services.Configure<RouteOptions>(options =>
    {
      // URL を小文字にする
      options.LowercaseUrls = true;
    });
  }
}