shExpMatch у PAC користи заменске знакове, а не регуларне изразе
Правило проксија може изгледати исправно, али се никада не поклопити јер shExpMatch и JavaScript регуларни изрази користе различите језике узорака.
У PAC-у shExpMatch користи заменске знакове у стилу љуске. За поддомене од 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 укључује шему и можда је санитизован. Правило домена не сме случајно да зависи од путање коју прегледач никада не доставља.