스택큐힙리스트

어떻게 /를 포함하는 파라미터와 일치하는 라우트를 생성할 수 있을까요? 본문

카테고리 없음

어떻게 /를 포함하는 파라미터와 일치하는 라우트를 생성할 수 있을까요?

스택큐힙리스트 2023. 11. 19. 21:58
반응형

내 ASP.NET MVC 앱에는 라우트 하나만 있습니다:


routes.MapRoute(
Post,
post/{url},
new { controller = Blog, action = Post }
);

/post/MyTestBlahBlah로 이동하면 올바르게 일치하고 Blog.Post(url)을 호출합니다.


그러나 /post/2010/03/MyTestBlahBlah로 이동하면 404 오류가 발생합니다.


URL에 슬래시가 포함된 경우에도 라우트를 일치시키는 방법은 무엇인가요?


참고: 내 URL은 /year/month/post로 고정되어 있지 않으며, 모든 형식일 수 있기 때문에 모든 URL을 일치시키고 싶습니다. 이를 테스트에 도움을 주기 위해 캡처하여 컨트롤러로 전달해야 합니다 - 컨트롤러가 응답 객체에서 URL을 읽지 않기를 원합니다.

답변 1

당신의 경우, 저는 그 루트에 이전에 설명한 루트를 추가할 것입니다:


routes.MapRoute(
Post_Verbose,
post/{year}/{month}/{url},
new { controller = Blog, action = Post });

또는 간단히:


routes.MapRoute(
Post,
post/{*url},
new { controller = Blog, action = Post });

답변 2

파라미터에 슬래시 (/)가 포함되어 있는 경우 해당 파라미터와 일치하는 경로(Route)를 어떻게 생성할 수 있을까요? URL에 슬래시를 포함하는 파라미터를 사용하는 것은 SEO에 영향을 미칠 수 있는데요, 이에 대해 알아보도록 하겠습니다.
일반적으로 URL의 경로 부분은 검색 엔진에서 큰 역할을 합니다. 경로가 의미 있는 키워드를 포함하고 있을수록 검색 엔진은 해당 페이지의 주제와 관련성을 높게 여기며, 노출과 순위 결정에 영향을 받을 수 있습니다. 그러나 파라미터의 경우에는 그렇지 않은 경우가 많습니다. 파라미터는 동적으로 생성되는 값이기 때문에 검색 엔진은 이를 무시하거나 인식하기 어려울 수 있습니다.
하지만, 특정한 상황에서는 파라미터에 슬래시(/)가 포함되도록 URL을 구성해야 할 수도 있습니다. 이때, 경로를 파라미터에 포함시키는 대신, URL의 다른 부분을 활용하여 슬래시를 표현하는 것이 좋은 방법입니다.
1. 하이픈(-) 사용: 파라미터의 값에 슬래시(/) 대신 하이픈(-)을 사용할 수 있습니다. 이렇게 함으로써 URL은 읽기 쉽고 검색 엔진이 인식하기도 좋습니다. 예를 들어, /category/computers-and-laptops/ 라는 파라미터를 가진 경로를 생성해야 할 경우, /category/computers-and-laptops/ 대신에 /category/computers-and-laptops와 같이 하이픈을 사용하여 URL을 구성할 수 있습니다.
2. 쿼리 문자열 사용: 파라미터 값을 쿼리 문자열(query string)로 변환하여 사용할 수도 있습니다. 쿼리 문자열은 URL 끝에 ?를 사용하여 추가되는 문자열로, 각 파라미터는 &로 구분됩니다. 파라미터의 값에 슬래시(/)가 포함된 경우, 해당 값을 URL 인코딩(Percent-encoding)하여 전달할 수 있습니다. 예를 들어, /product?id=123&category=computers-and-laptops와 같이 파라미터 값을 쿼리 문자열로 변환하여 URL을 생성할 수 있습니다.
URL의 경로 부분은 검색 엔진에 중요한 신호를 제공할 수 있기 때문에, 파라미터에 슬래시(/)를 포함해야 하는 경우에는 위의 두 가지 방법을 사용하여 URL을 구성하는 것이 좋습니다. 이를 통해 검색 엔진은 URL을 더 잘 인식하고 색인할 수 있을 것입니다. 반면에, 파라미터 값을 URL 인코딩하여 전달할 경우에는 검색 엔진이 URL을 해석하기 어렵게 할 수 있으므로 피하는 것이 좋습니다.
중요한 점은, 어떤 방법을 사용하더라도 URL에 대한 가독성과 사용자 경험을 고려하는 것입니다. 가능한 한 간결하면서도 이해하기 쉽게 URL을 구성하는 것이 중요합니다. 이를 통해 검색 엔진 최적화(SEO)를 향상시키고 사용자가 원하는 내용을 쉽게 찾을 수 있도록 도움이 될 것입니다.

반응형
Comments