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 схеманы камтыйт жана тазаланган болушу мүмкүн. Домен эрежеси браузер эч качан бербеген жолго кокустан көз каранды болбошу керек.