PAC-те shExpMatch регулярлы өрнектерді емес, ұқсастыру белгілерін пайдаланады
Прокси ережесі дұрыс көрініп, бірақ ешқашан сәйкеспей қалуы мүмкін, себебі shExpMatch пен JavaScript регулярлы өрнектері әртүрлі үлгі тілдерін қолданады.
PAC-те shExpMatch shell стиліндегі ұқсастыру белгілерін қолданады. example.com ішкі домендері үшін:
if (shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Бұл қайтару мәндерінде саясат таңдаған HTTP соңғы нүктелерін қолданыңыз; HTTP прокси тізімі рұқсат етілген жария маршруттар үшін үміткерлерді ұсынады. Жұлдызша таңбалар тізбегіне сәйкеседі. Ол регулярлы өрнектің қайталау операторы емес, сондықтан regex тәрізді .*example.com мағынасын өзгертеді.
Саясатқа кіретін болса, нақты ата-домен атауын айқын көрсетіңіз:
if (host === "example.com" || shExpMatch(host, "*.example.com")) {
return "PROXY proxy.example:8080";
}Оның орнына *example.com қолдану бөлгіш нүктесіз сол әріптермен аяқталатын атауларды да қабылдар еді. Бұл жиынды көзделген домен шекарасынан тыс кеңейтеді.
Тасымалданатын PAC ұқсастыру белгілерінің негізі * және ? белгілерін қамтиды; таңба кластары іске асырылуға қарай әртүрлі. JavaScript regex орнына test() пен өзінің бекіту және экрандау ережелерін қолданады.
Көзделген кіріске сәйкестендіріңіз. host — хост атауы, ал url схеманы қамтиды және тазартылған болуы мүмкін. Домен ережесі браузер ешқашан бермейтін жолға кездейсоқ тәуелді болмауы керек.