# Example configuration file for urlnormalizer-protocol
#
# URL's of hosts listed in the configuration are normalized to the target
# protocol. Useful in cases where a host accepts both http and https, doubling
# the site's size.
#
# Also all hosts of a domain can be addressed by adding a "host" pattern
# starting with "*.". E.g., "*.wikipedia.org" will match all subdomains of
# the domain "wikipedia.org"
#
# Note: if the URL includes a port number, the protocol is left unchanged.
#
# format: <host>\t<protocol>\n

example.org	http
example.net	http

example.io	https
example.nl	https

*.example.com	https
