CMS: 여러 동적 페이지 URL을 고유하게 설정하기

2 분 분량
이 도움말을 읽기 전 다음에 대한 정보를 확인하세요.
생성하는 모든 동적 페이지에는 고유 URL이 있어야 합니다. 동적 페이지 URL에는 동적 및 정적 섹션이 있습니다. 이러한 섹션은 고유성에 다른 영향을 미칩니다. 

  • 정적 섹션: URL의 정적 섹션 콘텐츠는 고유성에 반영됩니다. 예를 들어, recipes/menu/{meal} 는 고유하지만 recipes/Menu/{meal}도 고유합니다. Menumenu와 다르기 때문입니다. 
  • 동적 섹션: URL의 섹션 및 위치는 고유성에 반영되지만, 참조하는 입력란은 반영되지 않습니다. 예를 들어, recipes/menu/{meal}recipes/menu/{course}와 비교해 고유하지 않습니다. 둘 다 recipes/menu/와 하나의 동적 섹션을 포함하고 있기 때문입니다. 어떤 경우에는 동적 섹션 필터가 meal 입력란을 필터링하고 다른 필터는 course 입력란을 필터링한다고 해서 URL의 고유성에 영향을 미치지 않습니다. 하지만, 동적 섹션이 URL의 다른 위치에 표시된다는 점에서 recipe/menu/{meal}recipe/{meal}/menu와 비교해 고유합니다. 또한, 한 URL에 다른 URL보다 동적 섹션이 하나 더 많기 때문에recipe/menu/{meal}recipe/menu/{meal}/{course}와 비교해 고유합니다.

이것이 동적 페이지를 설정하는 방식에 어떤 영향을 미치는지 살펴보겠습니다. 레시피 컬렉션이 있는 레시피 사이트가 있다고 가정해 보겠습니다. 레시피 정보가 포함된 입력란 외에도 컬렉션에는 레시피가 아침, 점심 또는 저녁 식사용인지 여부를 기록하는 meal 입력란이 있습니다. 또한, 에피타이저, 메인, 디저트인지 여부를 표시하는 course 입력란도 있습니다.

다음과 같은 URL을 사용해 레시피를 위한 동적 아이템 페이지를 생성한다고 가정해 보겠습니다.


이제 meal 입력란을 기반으로 레시피를 표시하는 동적 목록 페이지를 생성하려고 합니다. 다음과 같이 URL을 정의할 수 있습니다.


하지만, 해당 URL로 페이지를 생성하려고 하면, URL이 고유하지 않아 사용할 수 없다는 오류 메시지가 표시됩니다. 이는 두 URL 모두 recipe/{some-dynamic-field}의 동일한 패턴을 따르기 때문입니다. 동적 입력란의 콘텐츠는 고유성에 포함되지 않으므로 meal Title은 동일한 것으로 간주됩니다.
참고:
URL의 정적 부분만 대소문자를 구분합니다. 

URL을 고유하게 편집하기

URL을 고유하게 설정하려면, URL을 수동으로 편집해 기존 정적 섹션을 추가하거나 수정해야 합니다. URL을 클릭해 편집하면, 추가한 동적 섹션은 { } 안에 표시되므로 다음과 같이 표시됩니다.
http://www.../recipes/{meal}

동적 목록 페이지를 만들 경우에는 URL에 카테고리를 수동으로 추가해 고유하게 만드는 것이 좋습니다. 예를 들어, meal 페이지의 URL은 http://www.../recipes/meals/{meal}, course 페이지의 URL은 http://www.../recipes/courses/{course}일 수 있습니다. 이렇게 하면 아침 식사 페이지의 실제 URL은 http://www.../recipes/meals/breakfast가 되고 메인 코스 페이지의 URL은 http://www.../recipes/courses/main이 됩니다.

하지만, 기존 동적 섹션을 수정하거나 사이트 이름 뒤 URL에 원하는 것을 추가해 고유하게 만들 수 있습니다. 

계산된 URL이 고유한지 확인하기

지정된 동적 페이지의 URL은 컬렉션의 데이터에서 계산되므로, 동적 페이지 URL을 구성하는 입력란의 콘텐츠는 고유해야 합니다. 즉, 컵케이크에 대한 여러 레시피가 있고 제목 입력란에 모두 "컵케이크"라고 표시된 경우, 모두 동일한 계산 URL을 갖게 됩니다. 이로 인해 어떤 동적 페이지가 표시되는지 알 수 없는 불안정한 상황이 발생합니다. 

URL의 동적 부분은 대소문자를 구분하지 않습니다. 즉, "cupcakes"라는 레시피와 "Cupcakes"라는 레시피가 있는 경우, URL이 표시되는 방식에 관계없이 두 레시피 중 하나만 표시됩니다.

도움이 되었나요?

|