Barındırıcı izinleri ve içerik komut dosyası eşleşmesi, eşleşme kalıplarıyla tanımlanan bir URL grubuna dayanır. Eşleşme kalıbı, temelde izin verilen bir şemayla (http, https, file veya ftp) başlayan ve "*" karakterleri içerebilen bir URL'dir. <all_urls> özel kalıbı, izin verilen bir şemayla başlayan tüm URL'lerle eşleşir. Her eşleşme kalıbı 3 bölümden oluşur:
şema: örneğin,
httpveyafileya da*Not:fileURL'lerine erişim otomatik değildir. Kullanıcı, uzantı yönetimi sayfasını ziyaret etmeli ve bunu isteyen her uzantı içinfileerişimini etkinleştirmelidir.Ana makine: Örneğin,
www.google.com,*.google.comveya*. Şemafileise ana makine bölümü yoktur.path: Örneğin,
/*,/foo*veya/foo/bar. Yol, ana makine izninde bulunmalıdır ancak her zaman/*olarak değerlendirilir.
Temel söz dizimi şöyledir:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
"*" işaretinin anlamı, şema, ana makine veya yol bölümünde olup olmadığına bağlıdır. Şema * ise http veya https ile eşleşir, file, ftp veya urn ile eşleşmez. Ana makine yalnızca * ise herhangi bir ana makineyle eşleşir. Ana makine *._hostname_ ise belirtilen ana makineyle veya alt alan adlarından herhangi biriyle eşleşir. Yol bölümünde her "*", 0 veya daha fazla karakterle eşleşir. Aşağıdaki tabloda bazı geçerli desenler gösterilmektedir.
| Kalıp | Ne işe yarar? | Eşleşen URL örnekleri |
|---|---|---|
http://*/* | http şemasını kullanan tüm URL'lerle eşleşir. | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | Yol /foo ile başladığı sürece herhangi bir ana makinede http şemasını kullanan tüm URL'lerle eşleşir. | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | Yol /foo ile başlayıp bar ile bittiği sürece, https şemasını kullanan ve google.com ana makinesinde (ör. www.google.com, docs.google.com veya google.com) bulunan tüm URL'lerle eşleşir. | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | Belirtilen URL ile eşleşir. | http://example.org/foo/bar.html |
file:///foo* | Yolu /foo ile başlayan tüm yerel dosyalarla eşleşir. | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | http şemasını kullanan ve 127.0.0.1 ana makinesinde bulunan tüm URL'lerle eşleşir. | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | http://mail.google.com veya https://mail.google.com ile başlayan tüm URL'lerle eşleşir. | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | urn: ile başlayan tüm URL'lerle eşleşir. | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | İzin verilen bir şemayı kullanan tüm URL'lerle eşleşir. (İzin verilen şemaların listesi için bu bölümün başına bakın.) | http://example.org/foo/bar.html file:///bar/baz.html |
Aşağıda, geçersiz kalıp eşleşmelerine bazı örnekler verilmiştir:
| Kötü desen | Neden kötü? |
|---|---|
http://www.google.com | Yol yok |
http://*foo/bar | Ana makinedeki "*" yalnızca "." veya "/" ile takip edilebilir. |
http://foo.*.bar/baz | Ana makinede "*" varsa ilk karakter olmalıdır. |
http:/bar | Şema ayırıcı eksik ("/" yerine "//" olmalıdır) |
foo://* | Geçersiz şema |
Bazı şemalar tüm bağlamlarda desteklenmez.