Я разрабатываю приложение Asp.Net Core 3.1 Razor Pages
. Я пытаюсь реализовать в своем приложении seo friendly
маршруты.
После некоторого поиска в Google я нашел Использование преобразователей параметров для изменения значений маршрутов и параметров для достижения этого.
Но это не работает с AddAreaPageRoute()
, который я использую для создания дружественного маршрута.
Вот моя структура проекта,
Мой маршрут,
https://localhost/blog/detail/my-first-blog-title
Мой ожидаемый дружественный маршрут,
https://localhost/blog/my-first-blog-title
Но мой настоящий дружественный маршрут,
https://localhost/blog/my first blog title
Обратите внимание, что hypens
заменены на spaces
.
Вот мой ConfigureServices
in Startup.cs
Настройка служб :
services.AddRazorPagesOptions(options =>
{
options.Conventions.AddAreaPageRoute("Blog", "/detail", "blog/{id}");
// If I comment the above line I get the expected friendly route
});
services.Configure<RouteOptions>(options =>
{
options.LowercaseUrls = true;
options.ConstraintMap.Add("slug", typeof(SlugParameterTransformer));
});
Если я прокомментирую options.Conventions.AddAreaPageRoute("Blog", "/detail", "blog/{id}");
, я получу ожидаемый дружественный маршрут. Я что-то пропустил, пожалуйста, помогите.