Привет! Итак, вы хотите узнать, как избавиться от надоедливого расширения.aspx в URL-адресах вашего веб-сайта? Что ж, вы пришли в нужное место. В этой статье я покажу вам несколько способов удалить расширение.aspx и сделать ваши URL-адреса более чистыми и удобными для пользователя. Давайте погрузимся!
Метод 1: переписывание URL-адресов
Переписывание URL-адресов — это мощный метод, позволяющий изменять и украшать ваши URL-адреса. В случае удаления расширения.aspx вы можете использовать правила перезаписи URL-адресов для внутреннего перенаправления запросов с URL-адресов с расширением на соответствующие страницы без него. Вот пример использования платформы ASP.NET:
void Application_Start(object sender, EventArgs e)
{
// Register the URL rewriting rule
RouteTable.Routes.Add(new Route("{page}", new PageRouteHandler()));
}
public class PageRouteHandler : IRouteHandler
{
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
// Extract the page name from the URL
string pageName = requestContext.RouteData.Values["page"] as string;
// Construct the actual page URL
string pageUrl = string.Format("~/Pages/{0}.aspx", pageName);
// Create the page handler
var page = BuildManager.CreateInstanceFromVirtualPath(pageUrl, typeof(Page)) as IHttpHandler;
return page;
}
}
Благодаря реализации этой логики перезаписи URL-адресов ваши URL-адреса будут выглядеть так, как будто расширения.aspx не существует. Например, https://example.com/about.aspx
станет https://example.com/about
.
Метод 2: настройка маршрута (ASP.NET MVC)
Если вы используете ASP.NET MVC, вы можете добиться того же результата, настроив маршруты в своем приложении. По умолчанию маршруты MVC настроены на включение имен действий и контроллеров в URL-адрес. Однако вы можете настроить маршруты, исключив расширение.aspx. Вот пример:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
При такой конфигурации URL-адреса типа https://example.com/about.aspx
будут сопоставлены с действием About
в контроллере Home
, а расширение.aspx будет опущено.
Метод 3: перенаправление URL-адресов.
Другой подход заключается в использовании перенаправления URL-адресов для перенаправления запросов с URL-адресов с расширением.aspx на соответствующие страницы без него. Этого можно добиться с помощью серверных методов или с помощью файла конфигурации веб-сервера, например .htaccess
(если ваш веб-сайт размещен на Apache). Вот пример правила перенаправления в файле .htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.aspx [NC,L]
Это правило перенаправляет запросы URL-адресов без расширения файла на тот же URL-адрес с добавленным расширением.aspx.
Метод 4: сокращение URL-адресов
Если вам нужно быстрое и простое решение без внесения каких-либо изменений в конфигурацию вашего веб-сайта, вы можете использовать службы сокращения URL-адресов. Эти службы позволяют создавать собственные сокращенные URL-адреса, которые перенаправляют на ваши фактические URL-адреса.aspx. Таким образом, вы сможете делиться с аудиторией более понятными и удобными URL-адресами.
В заключение отметим, что существует несколько способов избавиться от расширения.aspx в URL-адресах. Независимо от того, решите ли вы реализовать перезапись URL-адресов, настройку маршрутизации, перенаправление URL-адресов или использовать службы сокращения URL-адресов, цель состоит в том, чтобы создать более чистые и удобные для пользователя URL-адреса, которые улучшат общее впечатление пользователя от вашего веб-сайта. Так что выбирайте метод, который подходит вам лучше всего, и удачной оптимизации!