Việc so khớp Quyền của máy chủ và tập lệnh nội dung dựa trên một nhóm URL được xác định theo kiểu khớp
mẫu. Mẫu so khớp về cơ bản là một URL bắt đầu bằng một lược đồ được cho phép (http
, https
,
file
hoặc ftp
và có thể chứa '*
' ký tự. Mẫu đặc biệt <all_urls>
khớp với
bất kỳ URL nào bắt đầu bằng lược đồ được phép. Mỗi mẫu khớp có 3 phần:
lược đồ—ví dụ:
http
hoặcfile
hoặc*
Lưu ý: Quyền truy cập vào URLfile
không tự động. Người dùng phải truy cập vào trang quản lý tiện ích và chọn cấp quyền truy cậpfile
cho từng tiện ích yêu cầu.host – ví dụ:
www.google.com
,*.google.com
hoặc*
; nếu lược đồ làfile
, thì có không có phần máy chủpath – ví dụ:
/*
,/foo*
hoặc/foo/bar
. Đường dẫn phải có trong quyền lưu trữ, nhưng luôn được xem là/*
.
Dưới đây là cú pháp cơ bản:
<url-pattern> := <scheme>://<host><path>
<scheme> := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
<host> := '*' | '*.' <any char except '/' and '*'>+
<path> := '/' <any chars>
Ý nghĩa của '*
' phụ thuộc vào việc nó nằm trong phần lược đồ, máy chủ lưu trữ hay đường dẫn. Nếu
lược đồ là *
, thì nó khớp với http
hoặc https
, chứ không phải file
, ftp
hay urn
. Nếu
host chỉ là *
, rồi khớp với mọi máy chủ lưu trữ. Nếu máy chủ là *._hostname_
, thì máy chủ này sẽ khớp với
máy chủ lưu trữ đã chỉ định hoặc bất kỳ miền phụ nào của máy chủ đó. Trong phần path, mỗi "*
" khớp với 0 hoặc nhiều hơn
ký tự. Bảng sau đây trình bày một số mẫu hợp lệ.
Mẫu | Ý nghĩa | Ví dụ về URL phù hợp |
---|---|---|
http://*/* | Khớp với mọi URL sử dụng lược đồ http | http://www.google.com/ http://example.org/foo/bar.html |
http://*/foo* | Khớp với mọi URL sử dụng giao thức http , trên mọi máy chủ lưu trữ, miễn là đường dẫn bắt đầu bằng /foo | http://example.com/foo/bar.html http://www.google.com/foo |
https://*.google.com/foo*bar | Khớp với mọi URL sử dụng lược đồ https , thuộc một máy chủ lưu trữ google.com (chẳng hạn như www.google.com, docs.google.com hoặc google.com), miễn là đường dẫn bắt đầu bằng /foo và kết thúc bằng bar | https://www.google.com/foo/baz/bar https://docs.google.com/foobar |
http://example.org/foo/bar.html | Khớp với URL đã chỉ định | http://example.org/foo/bar.html |
file:///foo* | Khớp với mọi tệp cục bộ có đường dẫn bắt đầu bằng /foo | file:///foo/bar.html file:///foo |
http://127.0.0.1/* | Khớp với mọi URL sử dụng giao thức http và trên máy chủ 127.0.0.1 | http://127.0.0.1/ http://127.0.0.1/foo/bar.html |
*://mail.google.com/* | Khớp với mọi URL bắt đầu bằng http://mail.google.com hoặc https://mail.google.com . | http://mail.google.com/foo/baz/bar https://mail.google.com/foobar |
urn:* | Khớp với mọi URL bắt đầu bằng urn: . | urn:uuid:54723bea-c94e-480e-80c8-a69846c3f582 urn:uuid:cfa40aff-07df-45b2-9f95-e023bcf4a6da |
<all_urls> | Khớp với mọi URL sử dụng lược đồ được phép. (Xem đầu phần này để biết danh sách các giao thức được phép.) | http://example.org/foo/bar.html file:///bar/baz.html |
Dưới đây là một số ví dụ về kết quả khớp mẫu không hợp lệ:
Mẫu không hợp lệ | Lý do khiến quảng cáo của bạn kém |
---|---|
http://www.google.com | Không có đường dẫn |
http://*foo/bar | '*' trong máy chủ lưu trữ chỉ có thể được theo sau bởi '.' hoặc '/' |
http://foo.*.bar/baz | Nếu "*" ở trong máy chủ, thì phải là ký tự đầu tiên |
http:/bar | Thiếu dấu phân cách lược đồ ("/" phải là "//") |
foo://* | Lược đồ không hợp lệ |
Một số giao thức không được hỗ trợ trong mọi ngữ cảnh.