Mẫu so khớp

Việc so khớp Quyền của máy chủ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ặc file hoặc *

    Lưu ý: Quyền truy cập vào URL file 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ập file 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:

&lt;url-pattern&gt; := &lt;scheme&gt;://&lt;host&gt;&lt;path&gt;
&lt;scheme&gt; := '*' | 'http' | 'https' | 'file' | 'ftp' | 'urn'
&lt;host&gt; := '*' | '*.' &lt;any char except '/' and '*'&gt;+
&lt;path&gt; := '/' &lt;any chars&gt;

Ý 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 đồ*, 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ủ*._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ĩaVí dụ về URL phù hợp
http://*/*Khớp với mọi URL sử dụng lược đồ httphttp://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 /foohttp://example.com/foo/bar.html
http://www.google.com/foo
https://*.google.com/foo*barKhớ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 barhttps://www.google.com/foo/baz/bar
https://docs.google.com/foobar
http://example.org/foo/bar.htmlKhớp với URL đã chỉ địnhhttp://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 /foofile:///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.1http://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.comKhô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:/barThiế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.