В этом контексте const
функция членства означает, что this
рассматривается как const
указатель также. На практике это означает, что Нельзя изменить состояние this
внутренняя часть const
функция членства.
Для функций без побочных эффектов (т.е. чего Вы пытаетесь достигнуть), GCC имеет "функциональный атрибут", названный pure
(Вы используете его путем высказывания __attribute__((pure))
): http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain\.com [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?otherdomain\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]
Будет работать, как здесь сказано.
«Referer - это не ничто, и referer не соответствует mydomain, а referer не соответствует другому домену.
Если бы это было так, что вы были пытаясь сделать наоборот (занести в черный список набор доменов из хотлинкинга), вы бы сделали что-то вроде
RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?baddomain2\.com [NC]
RewriteRule \.(gif|jpe?g|js|css)$ - [F,NC,L]
Просто добавьте еще одно условие перед RewriteRule для каждого домена, который вы хотите разрешить.
RewriteCond %{HTTP_REFERER} !friendlysite\.com [NC]
(по-видимому, вам все равно, идет ли запрос через http, https или что-то еще, поэтому вы можете оставить это, чтобы сделать его более общим)