URL Evaluation and Resolution
When a customer enters a URL into their browser navigation bar, Salesforce B2C Commerce evaluates the URL and resolves it in this sequence.
This topic assumes that the URL Rules module is enabled. If you are using the legacy search-friendly URLs module, see URL Evaluation and Resolution for Legacy Search-Friendly URLs
Note: You can check whether the URL Rules module is enabled by selecting
.
- If the entered URL matches a host name in the host alias file, the host name to site
mapping is processed by the B2C Commerce server. Note: The alias file-mapping rules are not applied at this point.
-
The locale is resolved.
If the URL Rule module is enabled and the locale mapping is set to path, then the first two elements of the URL are used to evaluate the locale. You can create a locale that uses one or two elements in the path. For example:http://mystore.com/s/SiteGenesis/en/mens http://mystore.com/s/SiteGenesis/de/DE/mens
See also URL Rules Page Settings Tab for information about defining locale mappings.
-
- The URL is processed:
- New URLs are resolved to the correct content asset, product,
or other object.
- Pipeline URLs are resolved.
- Folder URLs are resolved.
- If a URL redirect for the incoming URL is found; it is executed. See also URL Redirects.
- If the URL can't be resolved:
- If a a URL doesn't match any object, this might be because of case differences
in the URL or unencoded characters, The URL is resolved using case insensitive
matching and by substituting encoded characters for the following set of unencoded
characters:
, @ ) ! $ ' (~
- Try to find the URL in the URL archive and resolve to the corresponding object.
First check for a URL redirect from the incoming URL, otherwise redirect to new
short URL of the object. Note: If you are migrating from a previous version of B2C Commerce, when you enable the URL Rules feature, B2C Commerce creates a list of existing URLs for B2C Commerce before creating new URLs. The list of old URLs is referred to as the archive.
- If a a URL doesn't match any object, this might be because of case differences
in the URL or unencoded characters, The URL is resolved using case insensitive
matching and by substituting encoded characters for the following set of unencoded
characters:
- If not in the URL archive, check for URL redirects for the incoming URL and execute.
- Otherwise, fall back to Mapping Rules. The URL handling (dynamic/static) has not changed from previous versions.
- New URLs are resolved to the correct content asset, product,
or other object.