ISA Server uses the effective link translation dictionary of the Web publishing rule that allowed the request for Web content to translate links in it before returning it to the client.
When the effective link translation dictionary of a Web publishing rule contains multiple mappings for a search string, ISA Server selects the mapping that it will use to translate the search string and removes the other mappings of that search string from the dictionary so that only one mapping for each search string will remain in the dictionary.
For each search string that has multiple mappings in the effective link translation dictionary of a rule, ISA Server first looks for a local mapping. If a local mapping is found for the search string, ISA Server leaves the applicable mapping in the dictionary and removes all other mappings for the same search string from the dictionary.
If a local mapping that matches the search string is not found, ISA Server looks for a matching implicit mapping derived from the rule (a mapping from the default dictionary of the Web publishing rule). If an implicit mapping is found, ISA Server leaves the applicable mapping in the dictionary and removes all other mappings for the same search string.
If a matching implicit mapping derived from the rule is not found, ISA Server looks for a global mapping for the array (Enterprise Edition) or the ISA Server computer (Standard Edition). If a global mapping is found, ISA Server leaves the applicable mapping in the dictionary and removes all other mappings for the same search string.
If no match is found, ISA Server looks for matching implicit mappings derived from the other Web publishing rules defined in the array (Enterprise Edition) or on the ISA Server computer (Standard Edition). If one match is found, ISA Server leaves the applicable mapping in the dictionary and removes all other mappings for the same search string. If a Web site with the internal name in the search string is published by more than one rule that uses different public names within the same array (Enterprise Edition) or on the ISA Server computer (Standard Edition), more than one mapping should be found. The mapping that will be retained is selected using the following order of precedence:
-
Mappings with a translated URL that contains a public name of the current Web publishing rule.
-
Mappings with a translated URL that contains the public name of a Web site that is specified in a Web publishing rule that uses the same Web listener as the current Web publishing rule.
-
Mappings with a translated URL containing the Domain Name System (DNS) suffix that is closest to the DNS suffix in the public name of the current Web publishing rule (see Determining the Closest DNS Suffix).
-
Mappings that are derived from a Web publishing rule that is higher on the list of rules in the stored configuration.
In Enterprise Edition, if cross-array link translation is enabled and no match is found among the mappings from the array of the current Web publishing rule, ISA Server looks for matching global mappings from the other arrays with cross-array link translation enabled. If one global mapping is found, ISA Server leaves the applicable mapping in the dictionary and removes all other mappings for the same search string. If several mappings are found, the mapping that will be retained is selected using the following order of precedence:
-
Mappings to Web sites that are published by rules defined in the preferred array if a preferred array is specified by the user.
-
Mappings with a translated URL containing the DNS suffix that is closest to the DNS suffix in the public name of the current Web publishing rule (see Determining the Closest DNS Suffix).
If no matching global mapping from another array is found, ISA Server looks for implicit mappings from the other arrays with cross-array link translation enabled. If one mapping is found, the internal URL is translated to the public URL in the applicable mapping. If a Web site with the internal name is published by more than one array in the enterprise or by more than one rule in an array, a mapping should be found for each array or rule and the mapping for translating the internal URL is selected using the following order of precedence:
-
Mappings defined in the preferred array if a preferred array is specified by the user.
-
Mappings with the DNS suffix that is closest to the DNS suffix in the public name of the Web site that supplied the content containing the link to be translated.
-
Mappings from the first array in the alphabetized list of ISA Server arrays in the stored configuration.
-
Mappings that are derived from a Web publishing rule that is higher on the list of rules defined in an array in the stored configuration.
Determining the Closest DNS Suffix
A DNS suffix can consist of several parts divided by periods. For example, the domain name team.dublin.europe.contoso.com includes the server name team and a DNS suffix that is built from four parts: dublin, europe, contoso, com.
DNS suffix A is considered closer to DNS suffix B if more parts of the DNS suffix, starting from the left, are identical.
For example, the DNS suffix oslo.europe.contoso.com is closer to dublin.europe.contoso.com than it is to atlanta.northamerica.contoso.com.
To determine the mapping with the closest DNS suffix in an enterprise with more than one array (Enterprise Edition), consider a rule in the array Branch_1 that publishes the Web site www.oslo.europe.contoso.com. The content returned from this Web site includes a link to http://contososales, which does not have a mapping in Branch_1. Two other arrays in the enterprise publish http://contososales: Branch_2 publishes http://contososales as https://www.sales.dublin.europe.contoso.com, and Branch_3 publishes http://contososales as https://www.sales.atlanta.northamerica.contoso.com. If all three arrays participate in cross-array link translation, ISA Server will select the closest array, based on the DNS suffix, and will use the mapping of http://contososales to https://www.sales.dublin.europe.contoso.com. This is because the DNS suffix oslo.europe.contoso.com is closer to the suffix in the public name of the Web site that supplied the content.