En PAC, shExpMatch usa comodíns ao estilo da shell. Para os subdominios de example.com:

if (shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Use os puntos finais HTTP seleccionados pola política nestes valores de retorno; a lista de proxies HTTP fornece candidatos para rutas públicas permitidas. O asterisco coincide cunha secuencia de caracteres. Non é un operador de repetición de expresións regulares, así que un .*example.com con aspecto de regex cambia o significado.

Inclúa o nome exacto do pai de forma explícita cando forma parte da política:

if (host === "example.com" || shExpMatch(host, "*.example.com")) {
    return "PROXY proxy.example:8080";
}

Usar *example.com no seu lugar tamén aceptaría nomes que rematen nesas letras sen un punto separador. Iso amplía o conxunto máis aló do límite de dominio previsto.

A base portátil de comodíns de PAC inclúe * e ?; as clases de caracteres varían segundo a implementación. Unha regex de JavaScript, en cambio, usa test() e as súas propias regras de ancoraxe e escapado.

Coincida coa entrada prevista. host é un nome de host, mentres que url inclúe un esquema e pode ter sido saneada. Unha regra de dominio non debería depender por accidente dunha ruta que o navegador nunca fornece.

Artigos relacionados