Пользовательская маршрутизация, замена URL при сохранении его частей - PullRequest
0 голосов
/ 13 апреля 2020

Я хочу заменить часть URL другой частью. Например,

https://www.test.com/part1/a/b/c до https://www.test.com/part2/a/b/c ИЛИ

https://www.test.com/part1/part2/a/b до https://www.test.com/part3/part4/a/b

В основном я хочу иметь возможность выполнять поиск / замену в любой части URL-адреса. Это будет использоваться для массового перенаправления в моем пользовательском обработчике маршрутов. Общая цель состоит в том, чтобы настроить это через страницу администратора, чтобы сделать некоторую настраиваемую маршрутизацию.

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Я выяснил это с помощью совпадения с регулярным выражением, а затем заменил.

Пример

https://www.test.com/test-text/a/b/c до

https://www.text.com/new-text/b/c

Регулярное выражение для этого текущего текста теста перенаправления / a (? S) (. * $)

replace new-text $ 1

0 голосов
/ 13 апреля 2020

Вы можете попробовать что-то подобное с помощью Attribute Routing:

[HttpGet]
    [Route("students/{studentID}/courses")]
    public ActionResult GetStudentCourses(int studentID)
    {
        List<string> Courses = new List<string>();
        if (studentID == 1)
            Courses = new List<string>() { "ASP.NET", "C#.NET", "SQL Server" };
        else if (studentID == 2)
            Courses  = new List<string>() { "ASP.NET MVC", "C#.NET", "ADO.NET" };
       };
        else
            Courses = new List<string>() { "Bootstrap", "jQuery", "Angular" };
        ViewBag.Courses = Courses ;
        return View();
    }

Вот как мы переходим к примеру URL https://www.test.com/students/2/courses

Если вы хотите получить постоянные ссылки из root (site.com/ enjslug}), попробуйте эти ссылки Ссылка-1 Ссылка-2 Если вы пытаетесь изменить деталь URL в ссылке, попробуйте это Ссылка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...