Last updated: Jan 29 2018
URL segment and SEO URL
The SEO URL (also known as SEO URI) is constrainted to be globally unique across all products/categories and languages.
Name in URL
The Name in URL field (also known as URL/URI Segment and Route Segment) is used when building hierarchical URLs, e.g., example.com/en/catalog/category/subcategory/product. Name in URL can be duplicated for different language branches (because the language branch is part of the path or host). In addition, Name in URL has the following constraints:
- For entries, the Name in URL must be globally unique (within a language).
- For categories, the Name in URL must be unique within the same parent category.
You can ease the constraint for entries to work like the constraint for categories by configuring an option.
Configuring less strict validation of Name in URL
To make the Name in URL constraint for entries less strict (like the one for categories), set the episerver:commerce.UseLessStrictEntryUriSegmentValidation AppSetting to true.
Note: Uniqueness is validated when an entry is published. As a result, it can later conflict with other entries under the same parent category by moving/linking entries between categories. If there is a conflict, it means two entries share the same hierarchical URL, and the behavior when accessing that URL is undefined.
Detecting conflicts in hierarchical URLs
The Find Catalog Uri Conflicts scheduled job analyzes the database and finds entries and categories that are in conflict for the same Name in URL under the same parent category. If conflicts are found, they are logged as warnings, output to the scheduled job log, and sent to any email addresses specified in the episerver:commerce.UriSegmentConflictsEmailRecipients AppSetting. In this setting, you can specify multiple recipients by separating email addresses with a semicolon (;).
Allowed characters in URL
You can use Unicode characters when creating a URL segment or an SEO URI for a catalog content.
The front-end also supports a Unicode URL.
Configuring Unicode support
By default, Episerver only allows characters listed in RFC 1738, that is:
- these special characters
- dash (-)
- underscore (_)
- tilde (~)
- period (.)
- dollar sign ($)
To configure Unicode support, see Internationalized Resource Identifiers.